hx100
V2EX  ›  问与答

tinypng 图片压缩的原理是什么?

  •  
  •   hx100 · May 10 · 2199 views
    tinypng 图片压缩的原理是什么,为啥能保持那么高的压缩率,像素几乎没什么丢失呢?有没有类似的开源产品
    14 replies    2026-05-11 13:34:56 +08:00
    keyboardCat
        1
    keyboardCat  
       May 10
    独家技术,开源了就没法收费了吧。
    cst4you
        2
    cst4you  
       May 10
    调色板降到 256 色, 然后颜色算法
    bagel
        3
    bagel  
       May 10
    无损压缩,哪来的像素丢失。本质就是 cpu 时间换空间,因为编码有很多种参数选择,多花点时间试出来一个压缩率高的。
    codehz
        4
    codehz  
       May 10
    颜色量化和通过暴力枚举 filter 的方式找到最优化的压缩方案
    codehz
        5
    codehz  
       May 10   ❤️ 2
    @bagel tingpng 的还真的就是有损的压缩,压完的 png 和原始 png 直接对比的话颜色会有很多差异(虽然一眼看不出)
    IamJ
        6
    IamJ  
       May 10
    chutsetien
        7
    chutsetien  
       May 10
    @bagel
    @codehz

    codehz 说的是对的,无损的那个是 optipng, 花的时间更久,而且有时压不了多少,但确实无损。不过用 png 肯定就是想要无损,有损还不如直接 cjpegli.
    Chicagoake
        8
    Chicagoake  
       May 10
    没研究过这些东西,但是相机内常见的压缩功能一般不会压缩图片像素量,而是压缩高光、暗部细节,色彩过渡等,一张照片被压缩后天空的色彩过渡会断层严重。
    codehz
        9
    codehz  
       May 10
    @chutsetien 主要是能保留透明度而且兼容性较好,现在是有 webp 可以,但前些年 webp/avif 这些格式还没那么兼容(
    ntedshen
        10
    ntedshen  
       May 11
    下个 ffmpeg ,玩 palettegen 去。。。
    passive
        11
    passive  
       May 11 via Android
    pngout 免费但不开源,开源用 zopfli
    xiangyuecn
        12
    xiangyuecn  
       May 11
    虽然是古董,但还有在更新,严重怀疑 tinypng 就是用的 pngquant

    https://pngquant.org/

    https://github.com/kornelski/pngquant
    hx100
        13
    hx100  
    OP
       May 11
    感谢各位的回复,我去学习下
    andyskaura
        14
    andyskaura  
       May 11
    类似的有谷歌的 squoosh.app
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5562 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 01:20 · PVG 09:20 · LAX 18:20 · JFK 21:20
    ♥ Do have faith in what you're doing.