• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX  ›  程序员

有点难以置信, producthunt 上发现的一款用 JavaScript 实现图片大小压缩的小工具

  •  2
     
  •   Reign · Oct 19, 2017 · 9055 views
    This topic created in 3306 days ago, the information mentioned may be changed or developed.

    我发现 producthunt 总能给我带来惊喜,刚发现一款老外制作的神器: https://www.picdiet.com ,有各种语言版本,中文版: https://www.picdiet.com/zh-cn ,这款工具号称用独特的 JavaScript 算法可以减少你的图片大小至少 80%而不损害其质量,我当时第一反应就是,不就是用 js 读取一个本地图片,然后转换为 canvas,然后通过 canvas 的 todataurl 来设置其质量么,然而事实上它压缩功能绝不是这样,成像质量太好,压缩率太高,不是一个 todataurl 能搞定的,有没有前端狗看下这个工具到底是如何工作的,个人感觉貌似真如他官网说的比 jpegoptim, jpegtran, jpegrescan and jpegmini 压缩质量更好

    Supplement 1  ·  Oct 19, 2017
    刚刚试了下,还支持同时选择多张图片压缩,最后 zip 下载,连 zip 打包图片我看了看都没有联网处理。。。
    32 replies  •  2017-10-20 04:43:24 +08:00
    xia0chun
    xia0chun
    Oct 19, 2017 via iPhone❤️1
    1
    魔笛手?
    mclxly
    mclxly
    Oct 19, 2017
    2
    “可以减少你的图片大小至少 80%”
    这个”至少“就不准确了,刚刚测试了一张图片:
    Compress duration:1514 ms Original image(s) file size: 275.41 KB Compressed image(s) file size: 219.06 KB File size reduction:20%。

    压缩率跟图片复杂度有关。

    github 上有基于 js 的图片压缩库。
    wired
    wired
    Oct 19, 2017❤️2
    3
    pied piper 3 年前就能通过撸管算法实现 3D 视频无损压缩了,这才哪跟哪
    shakoon
    shakoon
    Oct 19, 2017
    4
    有点难以置信:
    压缩耗时:686 ms 原始文件大小: 12.6 KB 压缩后文件大小: 14.65 KB 压缩百分比:-16%
    jmyz0455
    jmyz0455
    Oct 19, 2017
    5
    有意思,坐等大神分析原理。
    Arrowing
    Arrowing
    Oct 19, 2017
    6
    @shakoon 233333333333333333
    Reign
    Reign
    OP
    Oct 19, 2017
    7
    @shakoon 应该跟具体图像复杂程度有关吧,或者该图片已经是高度压缩了的?
    crz
    crz
    Oct 19, 2017
    8
    楼主知道 canvas/todataurl,应该也知道 file api 吧~~
    crz
    crz
    Oct 19, 2017
    9
    在像素一致(每个像素值都一样)的情况下,相同格式(包括编码方式之类的)的文件大小应该有个极限,压缩率和原文件的冗余度有关
    UnPace
    UnPace
    Oct 19, 2017❤️2
    10
    最好的图片压缩还是它,没有之一:

    https://tinypng.com/
    LeeSeoung
    LeeSeoung
    Oct 19, 2017
    11
    单纯不爽 lz 称前端程序员为前端狗。。
    Reign
    Reign
    OP
    Oct 19, 2017
    12
    @LeeSeoung 这是亲昵的称呼
    BearD01001
    BearD01001
    Oct 19, 2017 via iPhone
    13
    @LeeSeoung +1 前端狗这种明显是自嘲的称呼,听非前端人这么讲真是。。。好感度-10086👎🏻
    LeeSeoung
    LeeSeoung
    Oct 19, 2017
    14
    @Reign 你哪个职业,名字叫啥,我在你后面加个狗 表示亲昵,可以吗?
    qping
    qping
    Oct 19, 2017
    15
    @shakoon #4 还不是个例,随便找了张,原始 790K,压缩后 1.28M
    Reign
    Reign
    OP
    Oct 19, 2017❤️1
    16
    @LeeSeoung
    @BearD01001 好吧,我承认错了,V2 没法编辑帖子,以后会注意的
    AMST
    AMST
    Oct 19, 2017
    17
    LZ 重新定义了难以置信
    alwayshere
    alwayshere
    Oct 19, 2017
    18
    不错,感觉国外这方面的人比国内更敢于尝试和创新一些
    alwayshere
    alwayshere
    Oct 19, 2017
    19
    @UnPace 大胸弟啊,tinypng 是压缩 png,人家是压缩 jpg 的啊
    CherryFun
    CherryFun
    Oct 19, 2017
    20
    @alwayshere 虽然名字叫 tinyPNG,但它也可以压缩 jpg,不信你试试
    nimingyonghu
    nimingyonghu
    Oct 19, 2017
    21
    压缩耗时:1521 ms 原始文件大小: 100.3 KB 压缩后文件大小: 158.16 KB 压缩百分比:-58%

    ???
    UnPace
    UnPace
    Oct 19, 2017
    22
    @alwayshere 你试试 tinypng 能不能压缩 jpg..
    v1024
    v1024
    Oct 19, 2017
    23
    guetzli 才是坠吼的
    feilaoda
    feilaoda
    Oct 19, 2017
    24
    tinypng 的压缩比很高
    目前就用它
    kisshere
    kisshere
    Oct 19, 2017
    25
    测试了一下,确实不错,很强大,要是能支持 png 就好了
    n329291362
    n329291362
    Oct 19, 2017
    26
    压缩耗时:141 ms 原始文件大小: 577.87 KB 压缩后文件大小: 0 Bytes 压缩百分比:100%

    ???
    wooby
    wooby
    Oct 19, 2017
    27
    ids
    ids
    Oct 19, 2017
    28
    压缩耗时:389 ms 原始文件大小: 508.53 KB 压缩后文件大小: 0 Bytes 压缩百分比:100%
    ids
    ids
    Oct 19, 2017
    29
    Trim21
    Trim21
    Oct 19, 2017 via iPhone
    30
    @n329291362 无敌了 233
    zhuowenli
    zhuowenli
    Oct 19, 2017
    31
    @alwayshere 他们还出了这个。。https://tinyjpg.com/
    zpvip
    zpvip
    Oct 20, 2017
    32
    跟这个比一下?
    http://www.jpegmini.com/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1653 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 11:38 · PVG 19:38 · LAX 03:38 · JFK 06:38
    ♥ Do have faith in what you're doing.