Web浏览器中的非常大的图像

时间:2010-09-07 19:14:13

标签: image large-files deepzoom

我们希望在Internet Explorer中显示非常大(50mb以上)的图像。我们希望避免压缩,因为压缩算法不是CSI让我们相信它们的结果,并且生成的文件太有损了。

因此,我们提出了两个选项:Silverlight Deep Zoom或基于Flash的解决方案(例如Zoomify)。问题是这两者都需要转换为平铺输出和/或转换为特定文件类型(Zoomify支持单一专有文件类型,PFF)。

我们想知道的是,如果存在一个解决方案,我们可以在不事先进行转换的情况下查看图像。

PS:我知道您可以编写应用程序来平铺图像(根据需要或在加载过程之后)并输出它们;但是,我们希望在不删除文件的情况下执行此操作。

4 个答案:

答案 0 :(得分:5)

平铺式方法确实是正确的方法。

您的用户在开始查看图片之前不想下载50mb文件。您不希望花费带宽为每个只能查看一小部分图像的用户提供50美分。

如果您提供整个文件,用户最终将能够加载和查看它,但对于大多数用户来说,它将无法顺利运行。

除非您想使用像imagemagik或PIL这样的服务器端库为每个用户提取图像的特定子集,否则没有简单的非平铺方式来仅提供图像的一部分。您可能不希望这样做,因为它会给您的服务器带来很大的负担。

或者,您可以使用谷歌的地图工具之类的东西来提供缩放和缩放。关于这样做的一些评论可以在这里找到:

http://webtide.wordpress.com/2008/08/27/custom-google-maps/

答案 1 :(得分:1)

看看OpenSeadragon。要使图像可以与OpenSeadragon一起使用,您应该生成一个可缩放的图像格式,其中提到了here。然后按照开始指南here

进行操作

答案 2 :(得分:0)

浏览器无法顺利加载50兆字节的文件;如果你不把它砍掉,就没有合理的方法让它不会滞后。

答案 3 :(得分:-1)

如果您不想平铺,可以让服务器打开文件并渲染图像的屏幕大小视图,以便在请求的特定缩放分辨率下在浏览器中显示。这样,当有人只想获得图像的概述时,你不会在线上发送50兆字节的文件。也就是说,浏览器以像素为单位请求一组坐标和输出大小,服务器打开较大的图像并创建适合所需视图的较小图像,并将其发送回Web浏览器。

就压缩而言,你说它太有损了,但如果那就是你所看到的你可能正在使用错误的压缩算法或设置你拥有的图像类型。 jpg格式具有控制损耗的质量设置,PNG压缩是无损的(解压缩后获得的像素是压缩前的精确值)。因此,请考虑将您正在使用的内容更改为压缩,而不是仅仅依赖于图像编辑器中的默认设置。