hx100
V2EX  ›  问与答

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

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

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

    https://pngquant.org/

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