有损PNG图像压缩库
Javascript Lossy PNG image compression library
我有一个(大部分)离线web应用程序,用户可以用数字签名签名(使用此库:https://github.com/szimek/signature_pad)
签名的图像大小约为50K,以base64编码的json字符串的形式发送给服务器。
由于这些数据是通过卫星发送的,我希望最小化每个签名使用的带宽。
是否有任何JavaScript库做有损压缩的PNG,以减少文件大小?
PNG本身就是无损的。如果目的地可以接受,请使用JPEG格式。
如果没有,您可以尝试自己删除图像,然后使用PNG对其进行无损压缩。您还可以尝试PNG-8模式,将调色板压缩为256种或更少的颜色(这可能需要有损步骤),这应该会导致更小的文件。
我知道这是一个非常古老的问题,但我有一些东西可能会有所帮助。我假设签名垫库使用原生画布。toDataURL函数。
我用pngcheck实用程序从画布上保存了一个png,它使用RGBA -每像素4字节。对于您的目的,您可以使用灰度或调色板颜色png,这将是一个小得多的大小,但仍然是无损的。
大(2192 x 2800)灰度PNG: 39KB
相同的PNG绘制到画布(通过DrawImage),然后通过toDataURL: 184 KB保存回图像。
此外,PNG中的数据是使用DEFLATE方法存储的-许多库,如这个库,将压缩级别作为参数,基本上是以速度换取大小。
相关文章:
- 压缩phonegap中ios的图像插件
- 如何在Edge中下载图像/png数据URI
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 将SVG下载为PNG图像
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- ng文件上传获胜't将jpg图像转换为png
- 压缩捕获的图像并将其保存到localStorage
- 将画布下载为PNG图像
- 在 JavaScript 中将一个.PNG图像拖放到另一个图像上
- 使用 javascript 压缩包含嵌入图像的 HTML 字符串
- 客户端与服务器端图像压缩
- 如何使用toDataURL()从Canvas导出时压缩.png图像
- 如何使用KineticJS用另一个PNG图像屏蔽PNG图像
- 有损PNG图像压缩库
- HTML/javascript客户端图像压缩看起来像一个合理的、万无一失的计划吗?
- 使用图像id保存图像为png, jpg和pdf
- 图像压缩的uiwebview html表单
- Html检索所有图像(jpg, png),而不提及图像的名称
- Angularjs图像压缩传递值到$scope模型
- Facebook的图像压缩和上传是如何工作的