移动开发时批处理压缩图片提高开发效率

上传人:vi****12 文档编号:377242279 上传时间:2024-01-16 格式:DOCX 页数:5 大小:16.80KB
返回 下载 相关 举报
移动开发时批处理压缩图片提高开发效率_第1页
第1页 / 共5页
移动开发时批处理压缩图片提高开发效率_第2页
第2页 / 共5页
移动开发时批处理压缩图片提高开发效率_第3页
第3页 / 共5页
移动开发时批处理压缩图片提高开发效率_第4页
第4页 / 共5页
移动开发时批处理压缩图片提高开发效率_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《移动开发时批处理压缩图片提高开发效率》由会员分享,可在线阅读,更多相关《移动开发时批处理压缩图片提高开发效率(5页珍藏版)》请在金锄头文库上搜索。

1、移动开发时批处理压缩图片提高开发效率1. 为什么要压缩图片?在UI给开发图片的时候,经常都是没有压缩过的原图,但是移动开发时要尽可能减小app体积,而图片在app体积中占比极大,所以将大图压缩为小容量图片并且尽可能不影响图片质量是减小app体积所必须的操作2. 如何压缩?压缩方法有很多,网上各种压缩工具,传统压缩方法是UI给了图用这些工具批量压缩,缺点就是要手动选择不同文件夹下的图片,不能做到自定义3. 压缩为什么格式?但是现在流行的是压缩为webp格式,WebP 的优势体现在它具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、

2、Alpha 透明以及动画的特性,在 JPEG 和 PNG 上的转化效果都相当优秀、稳定和统一。4. 用python自动化批处理压缩的脚本直接放脚本代码 文件名compressImage.py#!/usr/bin/python# -*- coding:utf8 -*-# author:liuhc# description:压缩指定模块里的大图为webp格式# create date:2020-09-24 on 1:20 PMimport os# 查找指定文件夹里大于指定kb的图片列表def findBigImageFile(folder, size): bigFiles = for folder

3、name, subfolders, filenames in os.walk(folder): # 对文件进行遍历 for filename in filenames: # .getsize(path)必须是完整路径 file = os.path.join(foldername, filename) # size*1024,使参数size单位为kb if os.path.getsize(file) size * 1024: file = os.path.abspath(file) suffix = os.path.splitext(file)1 if (suffix = .png or suf

4、fix = .jpg) and file.find(.9.png) = -1: bigFiles.append(file) return bigFiles# 将modules中的文件夹都添加到集合里并返回def saveBigImageFile(modules): folders = for module in modules: folders.append(module) return folders# modules为当前同级目录下的图片文件夹列表modules = assets/imagesfolders = saveBigImageFile(modules)# 将大于指定kb的文件都存

5、到bigFiles里bigFiles = for folder in folders: # 查找指定文件夹里大于指定kb的图片列表 bigFiles += findBigImageFile(folder, 50)# 压缩前的大小beforeCompressSize = 0# 压缩后的大小afterCompressSize = 0for bigFile in bigFiles: absFileName = os.path.splitext(bigFile)0 before = os.path.getsize(bigFile) / 1024 beforeCompressSize += before

6、 print(压缩前, before, kb) cmd = cwebp -q 75 + bigFile + -o + absFileName + .webp print(cmd) os.system(cmd) after = os.path.getsize(absFileName + .webp) / 1024 afterCompressSize += after print(压缩后, after)for bigFile in bigFiles: # 转为webp后删除原文件 os.remove(bigFile)if beforeCompressSize 0: print(压缩比, after

7、CompressSize / beforeCompressSize * 100, %)复制代码其中代码里的modules = assets/images为我们要压缩的图片所在的文件夹,路径是相对python脚本文件所在位置的相对路径 然后打开Android Studio的Terminal框,输入python3 compressImage.py即可将我们的图片文件夹里大于指定kb的图片压缩为webp格式并删除被压缩的文件。注意事项上文中的webp命令需要自己安装对应文件。Google提供了命令行工具用于将图片转换为webp。在Mac下,可以使用homebrew安装webp工具:brew install webp总结在上面的脚本里我的modules = assets/images写的是Flutter项目的图片所在路径,如果是Android项目或者IOS项目填写对应项目的图片所在路径即可。将脚本拷贝到自己的项目里,修改modules = assets/images后,以后UI给了开发图片,只需要放到对应文件夹然后运行一次该脚本即可。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号