V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PageSpeed 相关文档
为 NGINX 编译 PageSpeed 支持
ngx_pagespeed
Configuring mod_pagespeed Filters
加载性能测试工具
WebPagetest
Gomez
NemoAlex
V2EX  ›  前端优化

tinypng.org 令人惊叹的 PNG 压缩比率

  •  
  •   NemoAlex · 2013-05-28 16:35:33 +08:00 · 24016 次点击
    这是一个创建于 4195 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://tinypng.org/
    似乎可以把一切 PNG24 压缩成 PNG8,而不损失画质
    随便试了一下本地的几张图,都达到了接近70%左右的压缩比
    网站做得也很好用,可以批量上传
    可惜少个打包下载的功能

    顺便说一下:IE6 支持 PNG8 的透明,只是把带有 Alpha 通道的像素全部判定为100%透明了
    所以用它压过的 PNG 在 IE6 中也可以实现一部分的透明效果
    如果你需要做一些在 Web 上显示的 icon,用这个压一遍是再好不过了
    24 条回复    2016-02-22 18:03:26 +08:00
    Jessepinkman
        1
    Jessepinkman  
       2013-05-28 16:59:54 +08:00
    mark
    LincolnDz
        2
    LincolnDz  
       2013-05-28 17:04:14 +08:00
    mark
    ytzong
        3
    ytzong  
       2013-05-28 17:06:19 +08:00
    不损失画质是如何得来的?
    png8 只有256色,不可能不损失画质
    NemoAlex
        4
    NemoAlex  
    OP
       2013-05-28 17:48:29 +08:00
    @ytzong 不是无损
    信息量确实有损失,只是感官上的“画质”没有显著降低罢了
    其实很多图片用8位索引色已经够了,超过的部分会根据算法进行近似匹配
    如果算法优秀的话效果会很好
    Livid
        5
    Livid  
    MOD
       2013-05-29 03:15:35 +08:00
    确实很有效果,如果这个网站有个 API 接口就好了,收费的也行。
    leecade
        6
    leecade  
       2013-05-29 03:46:46 +08:00
    leecade
        7
    leecade  
       2013-05-29 03:53:11 +08:00
    命令行下很多这类工具:
    https://github.com/leecade/imagine
    liuhang0077
        8
    liuhang0077  
       2013-05-29 05:12:08 +08:00 via Android
    mark
    libftx
        9
    libftx  
       2013-05-29 08:11:55 +08:00 via Android
    mark
    fim8
        10
    fim8  
       2013-05-29 08:37:30 +08:00
    非常感谢!
    hiwljun
        11
    hiwljun  
       2013-05-29 09:54:10 +08:00   ❤️ 2
    @Livid curl http://tinypng.org/api/shrink --request POST --data-binary <file>
    Livid
        12
    Livid  
    MOD
       2013-05-29 09:55:55 +08:00
    @hiwljun 感谢。
    cdfmr
        13
    cdfmr  
       2013-05-29 10:12:09 +08:00
    试了一下,真的很不错。虽然没有打包下载,使用下载工具也能轻松搞定。我用的是Firefox+DTA。
    clowwindy
        14
    clowwindy  
       2013-05-29 10:15:35 +08:00 via iPhone
    每当出个新的图片压缩网站,号称有多厉害,结果和 photoshop 的 save for web 一对比,发现设成一样的参数,压缩效果是一样的
    heroicYang
        15
    heroicYang  
       2013-05-29 10:31:42 +08:00
    不错~mark之
    Anran
        16
    Anran  
       2013-05-29 10:32:59 +08:00
    impressive
    NemoAlex
        17
    NemoAlex  
    OP
       2013-05-29 10:37:41 +08:00   ❤️ 1
    @clowwindy Photoshop 的 PNG 输出差远了
    开源的那些工具,无损压缩都秒杀 Photoshop
    何况这个有损的
    Los
        18
    Los  
       2013-05-29 10:48:14 +08:00   ❤️ 2
    http://pngquant.org/
    pngquant is a command-line utility and a library for converting 24/32-bit PNG images to paletted (8-bit) PNGs.
    NemoAlex
        19
    NemoAlex  
    OP
       2013-05-29 10:57:52 +08:00
    @Los 原来跟 ImageAlpha 用的是同一个东西
    感谢
    NemoAlex
        20
    NemoAlex  
    OP
       2013-05-29 11:05:17 +08:00
    @Los 可惜 ImageOptim 没有提供这个选项
    ImageAlpha 用起来没有 ImageOptim 方便
    efi
        21
    efi  
       2013-05-29 14:58:25 +08:00
    后台使用开源组合 pngquant + optipng + advdef/advpng

    有一些私有程序号称更好 一个评测:http://css-ig.net/png-tools-overview
    efi
        22
    efi  
       2013-05-29 15:17:25 +08:00
    优化png基本上是这几个方面:

    1. 减少颜色数量。比如24位色深RGBA每个像素压缩前要4字节,通过颜色量化算法提取出256种常见颜色作为调色板,那么1个像素就1字节。这个的颜色量化,必然是有损的,只是说通过图像质量的较少损失换取较多的空间节省。这里有pngquant用中位切分算法,pngnq用神经网络算法。颜色量化另一个复杂之处是对于怎样用较少的颜色dither出较好的渐变效果。
    2. 去除png文件格式中非必要的数据块。optipng做这个事情。
    3. 图像预处理过滤调优,通过类似相邻像素查分的方法,让图像数据更适合压缩。optipng。
    4. Deflate优化。zlib的deflate算法通用压缩器都可以加入使用。advdef/advpng使用了7zip的优化deflate,PNGOUT用了一种私有的Kflate。3月份Google发表的Zopfli原则上也可以整合进来。encoder.ru上还有一些私有的号称更好。
    Kai
        23
    Kai  
    MOD
       2013-05-31 07:03:49 +08:00
    目前发现的不足是,压缩后的图片如果用 PIL 库处理的话,很容易出现 transparency mask 方面的错误。
    saitjr
        24
    saitjr  
       2016-02-22 18:03:26 +08:00   ❤️ 1
    虽然过了很久了,还是安利下写的批量压缩下载的脚本,官网现在也有 api 可用,方式很多
    https://github.com/saitjr/STTinyPNG-Python
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1048 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:28 · PVG 03:28 · LAX 11:28 · JFK 14:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.