电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:377242279       资源大小:16.80KB        全文页数:5页
  • 资源格式: DOCX        下载积分:1金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要1金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

移动开发时批处理压缩图片提高开发效率1. 为什么要压缩图片?在UI给开发图片的时候,经常都是没有压缩过的原图,但是移动开发时要尽可能减小app体积,而图片在app体积中占比极大,所以将大图压缩为小容量图片并且尽可能不影响图片质量是减小app体积所必须的操作2. 如何压缩?压缩方法有很多,网上各种压缩工具,传统压缩方法是UI给了图用这些工具批量压缩,缺点就是要手动选择不同文件夹下的图片,不能做到自定义3. 压缩为什么格式?但是现在流行的是压缩为webp格式,WebP 的优势体现在它具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、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 foldername, 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 suffix = ".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/images"folders = saveBigImageFile(modules)# 将大于指定kb的文件都存到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 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("压缩比", afterCompressSize / 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给了开发图片,只需要放到对应文件夹然后运行一次该脚本即可。

注意事项

本文(移动开发时批处理压缩图片提高开发效率)为本站会员(vi****12)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.