Picdiet.js 内测结束,下调了价格,希望能成为网站的一款必备插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
picdiet
V2EX    程序员

Picdiet.js 内测结束,下调了价格,希望能成为网站的一款必备插件

  •  2
     
  •   picdiet 2018-05-28 08:28:13 +08:00 6390 次点击
    这是一个创建于 2741 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前两天发的帖子,Picdiet.js 一款在前端集成缩放、裁剪及压缩的 js 插件: t/457014 ,感谢部分内测 V2er 们的反馈和建议,下调了到了大家都能接受的价格,现在大家可以购买了: https://widget.picdiet.com

    26 条回复    2018-09-08 03:08:11 +08:00
    wplct
        1
    wplct  
       2018-05-28 09:05:45 +08:00
    还行,
    kisshere
        2
    kisshere  
       2018-05-28 09:11:33 +08:00
    赞!购买了试用了一下不错,准备部署到我的 wp 中去
    ala2008
        3
    ala2008  
       2018-05-28 09:40:13 +08:00
    开源都做不到必备。。。
    alwayshere
        4
    alwayshere  
       2018-05-28 09:50:29 +08:00
    昨天买的,还行吧,要是能把 GIF 压缩也集成进去就好了,支持一下,开发不易
    Menci
        5
    Menci  
       2018-05-28 09:52:17 +08:00
    不开源 → Ctrl + W
    yao978318542
        6
    yao978318542  
       2018-05-28 09:54:40 +08:00
    130M 的图片压缩需要 5 分钟左右 有点慢啊
    picdiet
        7
    picdiet  
    OP
       2018-05-28 09:56:01 +08:00
    @yao978318542 你可以对比一下 tinypng,也许上传+下载的时间都超过 5 分钟了吧
    imhx233
        8
    imhx233  
       2018-05-28 10:01:19 +08:00
    @picdiet picdiet 能否给个联系方式( IM or Email )?
    Reign
        9
    Reign  
       2018-05-28 10:29:03 +08:00
    @Menci 这点就没必要进行道德绑架了吧,作者自己写的,开源不开源,卖价 1 亿也是人家的自由啊
    sunsmooth
        10
    sunsmooth  
       2018-05-28 11:59:20 +08:00
    喜欢就用,不喜欢就不用。
    人家说不开源就关闭,也是人家的自由。
    9 楼一下给上升到道德的高度。
    。。。
    wzw
        11
    wzw  
       2018-05-28 12:40:10 +08:00 via iPhone
    我想买,可以试用不
    wzw
        12
    wzw  
       2018-05-28 12:44:30 +08:00
    @picdiet 逛了一圈看到了 演示, 用 vue 的前端 准备买了
    breeswish
        13
    breeswish  
       2018-05-28 13:00:26 +08:00   9
    @Reign 请作者先解释一下自己直接使用 MozJPEG (使用 emscripten 转编译到 Javascript ),违反 BSD 协议不写 Copyright、声称「独特且强悍的 Javascript 算法」并拿来收费的行为?

    证据 1,mozjpeg 包含 debug 参数,作者连改改都懒,于是 picdiet.js 也可以直接输出 mozjpeg 的 debug 信息

    > picdiet([], { debug: 1 })

    Error: No output: mozjpeg version 3.1 (build 20160620)Copyright (C) 1991-2012 Thomas G. Lane, Guido VollbedingCopyright (C) 1999-2006 MIYASAKA MasaruCopyright (C) 2009 Pierre Ossman for Cendio ABCopyright (C) 2009-2014 D. R. CommanderCopyright (C) 2009-2011 Nokia Corporation and/or its subsidiary(-ies)Copyright (C) 2014 Mozilla CorporationCopyright (C) 2013-2014 MIPS Technologies, Inc.Copyright (C) 2013 Linaro LimitedEmulating The Independent JPEG Group's software, version 6b 27-Mar-1998./this.program: only one input fileusage: ./this.program [switches] [inputfile]Switches (names may be abbreviated): -quality N[,...] Compression quality (0..100; 5-95 is useful range) -grayscale Create monochrome JPEG file -rgb Create RGB JPEG file -optimize Optimize Huffman table (smaller file, but slow compression, enabled by default) -progressive .......

    证据 2,代码中入口函数「 var cjpeg = ……」这是使用 emscripten 对 https://github.com/mozilla/mozjeg/blob/master/cjpeg.c 转化的痕迹,作者同样也是懒得修改…

    证据 3,可以直接对比 picdiet.js 代码与其他人用 emscripten 编译 mozjpeg 产生文件的结果,例如这个项目 https://github.com/as-com/mozjpeg-js 可以发现几乎所有的浮点 magic number 都是一致的,以及一致的 magic number 所处的函数结构和流程也都是一模一样( ps:后者使用了较新的编译工具链有循环展开,因此代码结构不完全一致)

    https://imgur.com/pQd6OSz

    https://imgur.com/TC6Bcql

    https://imgur.com/jGiA41L
    wzw
        14
    wzw  
       2018-05-28 13:04:20 +08:00
    @breeswish #12 那我观望一下。 楼主账号是新注册的 。。。
    BOYPT
        15
    BOYPT  
       2018-05-28 13:09:58 +08:00
    23333 #13 打脸很给力
    stackexplode
        16
    stackexplode  
       2018-05-28 13:25:00 +08:00
    打脸厉害了
    alwayshere
        17
    alwayshere  
       2018-05-28 13:35:30 +08:00   2
    @breeswish 说实话,何必这么上纲上线,况且图片压缩也仅仅只是 picdiet.js 中的一部分啊,我仔细看了一下文档,貌似作者就从来没说过压缩算法是作者自己写的,只说了那个什么图片缩放算法是自己写的,况且加一个声明来源又不是多大一个事儿,能用得方便省事儿才是所有人的目的吧, @picdiet 你还是加一个声明来源吧
    wzw
        18
    wzw  
       2018-05-28 13:50:02 +08:00 via iPhone
    @kisshere #2 移动端 如何 @alwayshere
    Reign
        19
    Reign  
       2018-05-28 14:35:59 +08:00
    话说,把 c 代码转换成 Javascript 还需要遵照原来的协议吗,应该不用吧,看结果别看过程,感觉楼主的思路是正确的,我们这些苦逼搞 UI 的还真希望有一款好的图片压缩工具
    breeswish
        20
    breeswish  
       2018-05-28 17:56:12 +08:00
    @alwayshere 「独特且强悍的 Javascript 算法」这是网站上写的,不是我编的。HTML 5 缩放一张图片就两行代码的事情,拿到 Image 改个长宽两行赋值语句就行了,这也能拿来另外说?莫非出了钱的同学是看中了它具有两行代码可以实现的图片缩放功能而不是「其压缩表现要远好于常规的压缩软件如:jpegoptim,jpegtran,jpegrescan 和 jpegmini 」的压缩?

    @Reign emscripten 是对编译后的文件进行变换使得它可以运行在 Javascript 虚拟机上,属于再发布,因此需要在发布出来的文档、版权声明或发布出来的源代码中包含原 BSD 协议。老老实实写明基于 mozjpeg 实现压缩,自己就是封装了个界面和接口,有些人懒得花时间配 mozjpeg 作者收收钱也不算差,偏要宣传得像是自己掌握了核心科技贩卖算法,利用信息不对称尽可能多地收税,看不下去一定要指出。
    picdiet
        21
    picdiet  
    OP
       2018-05-28 19:30:32 +08:00   3
    @breeswish 嗯,你说的很正确,我已经在 picdiet.js 官网加上了 mozjpeg 的标识和官方网址,并在 picdiet 官网上的 js 代码中按 https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md 的要求添加了 mozjpeg 的标识(目前 CF 缓存了,需强制刷新)
    picdiet
        22
    picdiet  
    OP
       2018-05-28 19:33:25 +08:00
    @breeswish 另外纠正一下,picdiet.js 可不是你说的那样封装个接口再加两句变换宽高就行了哈
    kulove
        23
    kulove  
       2018-05-29 11:32:59 +08:00
    @picdiet 已经买了,有更新是会发邮件通知?
    picdiet
        24
    picdiet  
    OP
       2018-05-29 11:53:34 +08:00
    @kulove
    h88829
        25
    h88829  
       2018-07-16 10:52:50 +08:00
    @picdiet 作者你好,使用的时候,可以直接调用 compress(arrayBuffer, ext, quality);
    window.compress(img, 'png', 0.50);img 我是用的 canvas 截图转成的 blob,但是报错 The input is not a PNG file!
    ext 写成 jpg 回返回一个空的 blob,请问怎么解决,还是我使用方法不对
    phithon
        26
    phithon  
       2018-09-08 03:08:11 +08:00
    挖个坟,今天找压缩工具,偶然发现官网上的 mozjpeg 怎么又不见了?换算法了吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1032 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:43 PVG 07:43 LAX 15:43 JFK 18:43
    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