写了一个压缩 PNG/JPEG 的 GUI 工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bertonzh
V2EX    分享创造

写了一个压缩 PNG/JPEG 的 GUI 工具

  •  1
     
  •   bertonzh
    meowtec 2017-06-27 13:02:06 +08:00 6917 次点击
    这是一个创建于 3035 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在已经有很多压缩图片的工具了,包括一些在线网页、桌面应用、命令行等。但是大多数是只能使用默认参数,不能优化到极致。

    以前我经常使用 ImageAlpha, 它是一个 to PNG 8 的 GUI 压缩工具,有一个控制面板可以用来调整 PNG 图片色彩数。色彩数越小,压缩体积就越小。这样就可以在肉眼容忍程度内,尽可能地让图片压缩更小。

    但是 ImageAlpha 有一些缺点:

    • 首先是只支持 PNG,对于 jpeg 的压缩,我不得不选择 PhotoShop.
    • 一次只能处理一张,保存也不方便。
    • 是只支持 OSX

    于是我受到(抄袭) ImageAlpha 启发,写了一个图片压缩的 GUI 工具,叫做 Imagine.

    repo: https://github.com/meowtec/Imagine

    特性

    • 支持 PNG 和 JPG
    • 能实时观察优化结果
    • 批量处理文件和保存
    • 跨平台,目前提供 Windows 和 macOS 的安装包
    • 多语言支持

    技术实现

    分别使用 pngquant 和 mozjpeg 优化 PNG 和 JPEG. GUI 基于 Electron + React.

    截图

    28 条回复    2021-12-03 11:41:22 +08:00
    designer
        1
    designer  
       2017-06-27 13:05:53 +08:00 via iPhone
    支持!
    dreammes
        2
    dreammes  
       2017-06-27 13:06:17 +08:00
    谢谢 lz
    mrcn
        3
    mrcn  
       2017-06-27 14:10:30 +08:00 via Android
    界面好评
    353943780
        4
    353943780  
       2017-06-27 14:22:32 +08:00
    跟 tinypng 可以对比一下么?
    goldenlove
        5
    goldenlove  
       2017-06-27 14:37:54 +08:00
    喵图好评..... jpg 是用的哪个压缩的?
    goldenlove
        6
    goldenlove  
       2017-06-27 14:42:38 +08:00
    哦,看到了~ moz... 不错,已 star。楼主加油~
    v1024
        7
    v1024  
       2017-06-27 14:43:16 +08:00 via iPhone
    滋磁。如果能加入插件系统,压缩完直接上传就完美了
    bertonzh
        8
    bertonzh  
    OP
       2017-06-27 15:26:29 +08:00
    @353943780

    这两张分别是 tinypng 和 Imagine(pngquant) 压缩的 PNG:

    tinypng []( http://7qn7vf.com1.z0.glb.clouddn.com/amazon-tinypng.png)
    Imagine []( http://7qn7vf.com1.z0.glb.clouddn.com/amazon-imagine.png)

    分别是 8K 和 5K

    Imagine 可以调整色彩数,第二张图是色彩数为 12 的结果,仔细看可以看到箭头没有第一张平滑。不过 Imagine 的色彩数可以调高一点,调到 26 ( 6K )就看不出差距了。

    原图 []( http://7qn7vf.com1.z0.glb.clouddn.com/amazon.png)

    Imagine 使用 pngquant 压缩 PNG,tinypng 不知道用的啥,感觉两者的压缩能力是差不多的。 但是 Imagine 可以灵活地调节色彩数和质量,在肉眼范围内,体积可以比 tinypng 更小。
    jzhcctv
        9
    jzhcctv  
       2017-06-27 16:50:43 +08:00
    https://github.com/meowtec/Imagine
    下载不下来,N 次了能上个百度网盘不

    bertonzh
        10
    bertonzh  
    OP
       2017-06-27 17:11:58 +08:00
    @jzhcctv 传到七牛云了,刷新 releases 页面
    mseasons
        11
    mseasons  
       2017-06-27 17:18:49 +08:00
    咳咳…有 win 版本的吗
    bertonzh
        12
    bertonzh  
    OP
       2017-06-27 17:27:43 +08:00
    @mseasons 你 Ctrl + F 搜一搜 win
    mmnsghgn
        13
    mmnsghgn  
       2017-06-27 22:19:49 +08:00
    感谢楼主分享,但是一般用腾讯的智图,http://zhitu.isux.us/,gif 压缩率也挺棒的。
    mingyun
        14
    mingyun  
       2017-06-27 23:44:25 +08:00
    nice
    mabutou
        15
    mabutou  
       2017-06-28 14:15:25 +08:00
    win10 有点 bug,macOS 没问题
    bertonzh
        16
    bertonzh  
    OP
       2017-06-28 15:16:13 +08:00
    @mabutou 我只在虚拟机 Windows Embedded 7 里面测过

    如果有 BUG 可以提 issue: https://github.com/meowtec/Imagine/issues
    goldenlove
        17
    goldenlove  
       2017-06-28 16:12:54 +08:00
    印象中 tiny 也是走 pngquant ... 只能是调用参数等细节有差异了吧。

    顺便反馈:
    Mac 下拖目录没反应,必须全选图片才有效?感觉这个问题应该好解?
    bertonzh
        18
    bertonzh  
    OP
       2017-06-28 16:35:55 +08:00
    @goldenlove 没试过托目录,晚上有空看一下,应该好解决
    pixes4world
        19
    pixes4world  
       2017-06-29 09:23:33 +08:00
    功能很赞,已 star
    bertonzh
        20
    bertonzh  
    OP
       2017-06-30 20:09:38 +08:00
    @goldenlove 这个能力在新版本里面已经加上去了。
    @mabutou Windows 里面的确有问题,是一个低级错误导致的,已修复。

    Thanks
    goldenlove
        21
    goldenlove  
       2017-07-02 11:21:11 +08:00
    @bertonzh

    好,有空更新试试~ 楼主很勤快哈。
    keller
        22
    keller  
       2017-07-03 11:24:51 +08:00
    不错不错,之前用 ImageOptim 又慢压缩质量又差。
    ab
        23
    ab  
       2017-09-28 06:39:00 +08:00 via iPhone
    mark
    youthfire
        24
    youthfire  
       2021-12-03 11:03:24 +08:00
    设计很好,但是逻辑不明白,quality 都是默认 80%,如果我设置 100%,按道理应该不变小,但选择后,体积反而增加了
    bertonzh
        25
    bertonzh  
    OP
       2021-12-03 11:27:32 +08:00
    @youthfire 你用 ImageMagick 命令的 quality 参数试一下就明白了。或者用 PhotoShop 输出 JPG 试一下,也有质量参数。
    质量 100% 也是要重新进行编码的,既然重新编码了就可能导致体积变化。100% 只表示处理前后质量效果基本没有区别而已。
    youthfire
        26
    youthfire  
       2021-12-03 11:30:02 +08:00 via iPhone
    @bertonzh #25 感谢,我刚发 issue ,看来可以关闭了
    bertonzh
        27
    bertonzh  
    OP
       2021-12-03 11:36:56 +08:00
    @youthfire 之前有人提出过这个问题,所以后面加了一个一键清除增大文件的开关。
    遇到这种情况说明你的原文件压缩得不错,所以可以清除掉直接用原文件。
    youthfire
        28
    youthfire  
       2021-12-03 11:41:22 +08:00 via iPhone
    @bertonzh #27 很棒的工具,再次感谢分享和创造
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1519 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 16:37 PVG 00:37 LAX 09:37 JFK 12:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86