基于tiny image的无损图片压缩工具
功能说明:
- 使用该工具包可以实现项目内指定目录下所有图片的压缩
- 可以记录以前项目中旧图片不做压缩
- 压缩后的图片会有压缩记录下次压缩不会重复压缩
- 支持webp、png、jpeg三种格式文件压缩
使用方法:
- 脚本配置:
//1. 分别在项目中实现类似AKTinyDoSave.dart、AKTinyDoComp.dart做如下配置
AKTinyImageManager.instance.init(
tinyImageApiKey: "x2zpZtVlK4MJjDm03P6b1h1DhGzGR4c4", // TinyImage的Apikey可到TinyImage申请
projectRootPath: '/Users/anker/tiny_image/ak_tiny_image',// 项目工程地址
imageDirPaths: {
'/Users/anker/tiny_image/ak_tiny_image/example/imageA' // 需要压缩图片的根目录
}
)
- 如何记录项目中以前旧的图片不做压缩:
// 执行以下命令:
// 1. 会计算图片的md5值并保存到项目中的".ak_tiny_image_uiq_id" 文件中
// 2. 当执行图片压缩是会计算图片的md5值是否已经在文件中,在则说明图片不需要做压缩
// 3. 该脚本一般只在项目开始使用该工具前调用一次或者在新增加图片前使用一次
// 4. .ak_tiny_image_uiq_id需要提交到git以统一记录压缩过的图片
dart AKTinyDoSave.dart
- 如何记录项目中以前旧的图片不做压缩:
// 执行以下命令:
// 1. 会读取项目中的".ak_tiny_image_uiq_id" 文件中保存已经记录压缩过的图片md5值
// 2. 当执行图片压缩是会计算图片的md5值是否已经在文件中,在则说明图片不需要做压缩
// 3. 将需要压缩的图片上传到tiny image进行压缩替换原来的图片
// 4. .ak_tiny_image_uiq_id需要提交到git以统一记录压缩过的图片
dart AKTinyDoComp.dart