有点难以置信, producthunt 上发现的一款用 Javascript 实现图片大小压缩的小工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX    程序员

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

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

    我发现 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
    &nbs;   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     Solana     993 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 18:41 PVG 02:41 LAX 11:41 JFK 14:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86