V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
fenjuly
V2EX  ›  分享创造

发一个自己写的图片压缩工具(略暴力),可以用来处理你的 Android 项目,使 APK 体积减小。

  •  
  •   fenjuly ·
    fenjuly · 2015-08-24 10:52:40 +08:00 · 4887 次点击
    这是一个创建于 3413 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先是无损的,支持 png 和 jpeg 格式。
    实验测试一个共有 9 张 png 图片,共 2,350,172 字节的文件夹,用这个工具跑过之后大小减为 2,061,774 字节。

    GitHub

    大致描述

    • 对于 PNG 图片 实际上是间接调用了truepmg.exe, pngout.exe, cryopng.exe, pngwolf.exe, deflopt.exe这五个程序进行压缩,实际压缩效果特别理想(实验测试一个共有 9 张 png 图片,共 2,350,172 字节的文件夹,用这个工具跑过之后大小减为 2,061,774 字节)。 目前这个工具只能在 windows 上面跑,原因是上面说的那五个工具我只在 windows 上面找全:(。
    • 对于 JPEG 图片 实际上是调用jpegtran.exe

    用法

    首先你的电脑上需要有 jre 环境
    * 将这个项目 fork 下来,直接运行picture_compress.jar

    • Picture Path 那里填上你需要处理的文件目录路径, Tool Path 那里填上本项目在你电脑上的路径(注意:/bin /lib 这两个文件夹需要和 picture_compress.jar 放在同一级目录下)。最上面的空格是填你这个工具跑的时候所开的线程数,默认是 10 。

    • 选择好了之就点击confirm开始运行吧 ~

    注意

    • 点击confirm运行之后,这个工具首先做的操作是备份你需要处理的目录下面的所有图片。这里比较细节的一点是,它不是将所有的图片简单的备份到一个目录下面,而是将你的图片的位置信息也一起备份。举个例子:若你有一张图片路径为myfolder/folder1/test.png,那么这个工具备份后就是这样的: myfolderBackup/folder/test.png 。

    • 备份完后就开始压缩,你可能担心的地方有:

    1. 若某些图片用这个工具处理后,大小不仅没变小反而变大了怎么办?

    2. 若对于某些图片,在处理到一半的时候出错了怎么办?

    对于第一点,若发现处理过后大小反而变大,那么这个工具就会有先前备份的图片替换处理过的图片。第二点,同理,若发现出错,同样会从备份文件里面恢复。

    • 完成压缩后,你可以点击open log file(文件处于 myfolderBackup/下)来查看每一个图片的压缩信息。

    • 另外就是,如果这个工具处理某些图片的过程中出错了(可能这是一个 jpg 格式的图片但是却是 png 的文件拓展:( )那么这个工具会在处理完后生成一个白名单文件,工具会将这个出错的图片加入白名单。又或者某些图片你根本不想处理,你可以手动添加一个白名单。这个白名单位于 folderBackup/whiteName.txt
      欢迎大家提意见。

    5 条回复    2015-08-27 08:02:27 +08:00
    wbsdty331
        1
    wbsdty331  
       2015-08-24 11:44:52 +08:00
    对于大量图片来说用处还行
    数量少的话 然并卵
    welly
        2
    welly  
       2015-08-24 12:20:19 +08:00
    支持啊 要 java 运行环境 :(
    fenjuly
        3
    fenjuly  
    OP
       2015-08-24 12:20:40 +08:00
    @wbsdty331 是这个道理。
    kaedea
        4
    kaedea  
       2015-08-24 22:40:41 +08:00
    压来压去还是这几个压缩工具,基本就是压缩成 png8 ,对 jpg 的压缩效果也不好,会变色的
    infun
        5
    infun  
       2015-08-27 08:02:27 +08:00 via iPhone
    河畔
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5313 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 07:47 · PVG 15:47 · LAX 23:47 · JFK 02:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.