V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX  ›  程序员

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

  •  2
     
  •   Reign · 2017-10-19 08:37:06 +08:00 · 7614 次点击
    这是一个创建于 2625 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2017-10-19 09:45:26 +08:00
    刚刚试了下,还支持同时选择多张图片压缩,最后 zip 下载,连 zip 打包图片我看了看都没有联网处理。。。
    32 条回复    2017-10-20 04:43:24 +08:00
    xia0chun
        1
    xia0chun  
       2017-10-19 08:48:39 +08:00 via iPhone   ❤️ 1
    魔笛手?
    mclxly
        2
    mclxly  
       2017-10-19 08:52:20 +08:00
    “可以减少你的图片大小至少 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
        3
    wired  
       2017-10-19 09:27:54 +08:00   ❤️ 2
    pied piper 3 年前就能通过撸管算法实现 3D 视频无损压缩了,这才哪跟哪
    shakoon
        4
    shakoon  
       2017-10-19 09:36:21 +08:00
    有点难以置信:
    压缩耗时:686 ms 原始文件大小: 12.6 KB 压缩后文件大小: 14.65 KB 压缩百分比:-16%
    jmyz0455
        5
    jmyz0455  
       2017-10-19 09:38:52 +08:00
    有意思,坐等大神分析原理。
    Arrowing
        6
    Arrowing  
       2017-10-19 09:40:58 +08:00
    @shakoon 233333333333333333
    Reign
        7
    Reign  
    OP
       2017-10-19 09:55:37 +08:00
    @shakoon 应该跟具体图像复杂程度有关吧,或者该图片已经是高度压缩了的?
    crz
        8
    crz  
       2017-10-19 09:57:12 +08:00
    楼主知道 canvas/todataurl,应该也知道 file api 吧~~
    crz
        9
    crz  
       2017-10-19 10:03:29 +08:00
    在像素一致(每个像素值都一样)的情况下,相同格式(包括编码方式之类的)的文件大小应该有个极限,压缩率和原文件的冗余度有关
    UnPace
        10
    UnPace  
       2017-10-19 10:04:03 +08:00   ❤️ 2
    最好的图片压缩还是它,没有之一:

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

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

    ???
    wooby
        27
    wooby  
       2017-10-19 13:48:31 +08:00
    ids
        28
    ids  
       2017-10-19 14:58:10 +08:00
    压缩耗时:389 ms 原始文件大小: 508.53 KB 压缩后文件大小: 0 Bytes 压缩百分比:100%
    ids
        29
    ids  
       2017-10-19 15:01:37 +08:00
    Trim21
        30
    Trim21  
       2017-10-19 16:39:54 +08:00 via iPhone
    @n329291362 无敌了 233
    zhuowenli
        31
    zhuowenli  
       2017-10-19 17:05:12 +08:00
    @alwayshere 他们还出了这个。。https://tinyjpg.com/
    zpvip
        32
    zpvip  
       2017-10-20 04:43:24 +08:00
    跟这个比一下?
    http://www.jpegmini.com/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:39 · PVG 10:39 · LAX 18:39 · JFK 21:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.