您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页iOS Python脚本 用pngquant 压缩PNG使 AP

iOS Python脚本 用pngquant 压缩PNG使 AP

来源:伴沃教育


前言

随着版本的迭代,业务增加,本地图片越来越多,APPipa包的Assets的大小有62.5M,对于APP的瘦身,图片的压缩也是很重要的一部分。

因为PNG 图片是项目中数量最多的图片,一般是PNG图片手动处理压缩,但是因为操作麻烦,工作量大,容易出现忘记某个目录下图片压缩,图片失真问题,选择什么形式压缩,用什么工具压缩,都要考虑清楚。

查找了很多资料,也踩了很多的坑,因为不想手动操作压缩图片,所以首选可以用命令批量压缩的工具,上网查找定位了一下三款:optipng 无损压缩图片,tinypng有损批量压缩图片,pngquant有损压缩图片等压缩工具都试过,这篇文章记录了整个过程和最终的解决方案。

压缩工具选择

optipng

1.简介

2.使用方法 

$ optipng *.png

虽然optiPNG 可以设置压缩比例系数,但是我已经设置最高,可以压缩比例还是不高,也因为是无损压缩,大小大约可以减少20%左右,因为并没有减少很多,所以想看下有损压缩的tinypng,虽然是有损压缩,但是让设计师验收压缩过的图片,肉眼看不出有什么变化,tinypng图片压缩通过,下面介绍tinypng。

tinypng

2.在线API压缩,tinypng 压缩图片大小可以减少70% 左右,压缩过的图片UI验收通过,但是由于需要申请api-key 而且要求一个月不能超过500张图片压缩,实际脚本我也试过,超过430张也就报错,因为我们工程目前有1000多张图片,需要申请3个api-key , 这还不是重点,重点是因为每次循环扫描都是从工程目录的第一张开始,所以如果不做额外操作,即使运行3遍,但是压缩的永远都是前面的430张图片,重复压缩的问题,数量限制的问题,放弃了这个方案。上网了解到pnguant 压缩图片大小可以减少70%左右,压缩过的图片UI验收通过,并且没有数量的限制,下面介绍pngquant。

pngquant

pngquant 安装

(2).cd pngquant;

(3). make 回车后就会看到一大串命令,然后看到生成pngquant执行文件以及其他相关文件,即安装成功;

(4).可以用pngquant -h 检查是否安装成功。

(5). “pngquant -f --ext .png --quality 50-80 ”主要是压缩图片的命令。

PS:需要了解更多关于pngquant 请参照官网,

工具选择确定,实验也通过,那就开始批量压缩,下面是python脚本功能简介,文章末尾有脚本链接的下载地址。

python 脚本

本地运行脚本,主要功能包括:

   1.会压缩目录下的所有png 的图片;

   2.本地记录一份压缩过的所有图片信息;

   3.如果是相同名字的图片替换过,有三种情况:

        1两种图片大小相同,不会操作;

        2.新的图片小于旧的图片,不会压缩,更新图片信息;

        3.新的图片大于旧的图片,会压缩,更新图片信息;

     4.如果是新增,直接压缩,更新存储记录;

     5.用了这个脚本,我们ipa 包的Assets大小较少11M。

使用:

python PngquantPicture.py

您的工程需要优化,减少安装包的大小啦~

PS:自学python 脚本语句,走了很多坑,有什么问题请多多指教 ,如果有帮助,请关注,点击喜欢,您的喜欢,是对我努力的最大肯定。谢谢~

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务