我正在寻找一种方法来编码一个bmp图像作为tiff或一些其他标准,压缩但无损格式在浏览器(javascript)。我猜如果最坏的情况发生,我可以自己写一个库(从画布元素获取数据),但我希望:有更好的方法来做这件事,或者其他人已经写了类似的东西(我找不到库)。
我有用户想要上传~ 4mb (8位单色) bmp文件,我可以用LZW无损压缩到~700kb的tiff文件(或者更好的~300kb无损JPEG-2000)。我希望在上传文件之前执行此操作,以节省传输成本/时间。
在你问之前,我并不是在谈论无损编码,而不是仅仅使用高比特率的JPEG。这些是用于分析的天文照片,因此它们不能处理引入的任何压缩伪像。
谢谢,Jonny
发布于 2010-12-19 14:08:04
使用PNG。它是无损的,并使用zlib压缩。甚至有像pngcrush这样的程序可以优化图像的大小(唯一的问题是这需要一段时间)。
有什么原因让你在这个过程中使用JavaScript of all things吗?如果在Java applet (使用与java.awt.Image类接口的库)中完成,或者将其上传到执行图像处理并返回压缩图像的服务器上,从长远来看不是更容易吗?
编辑:请不要使用Java;这项技术不再得到很好的支持。
发布于 2010-12-21 05:21:58
如果您愿意尝试新的东西,可以尝试我创建的一种新的无损压缩算法;通过Java applet,可以在浏览器中可视化压缩图像。您可以使用Javascript来触发applet的加载,或者直接操作Java代码(该程序是开源的)。对于许多图像,压缩比将优于无损Jpeg 2000。该网站的地址是http://www.researchandtechnology.net/bcif/。
如果你想使用一些众所周知的标准,那么我会同意安非他明:使用PNG将是最好的选择。
再见,Stefano
https://stackoverflow.com/questions/4481800
复制相似问题