3

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

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

我们想知道的是是否存在一种解决方案,它允许我们在没有事先转换的情况下查看图像。

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

4

4 回答 4

5

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

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

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

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

或者,您可以使用类似 google 的地图工具来提供缩放和缩放功能。在这里可以找到一些关于这样做的评论:

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

于 2010-09-07T19:19:46.687 回答
4

看看OpenSeadragon。要使图像可以与 OpenSeadragon 一起使用,您应该生成此处提到的可缩放图像格式。然后按照这里的入门指南

于 2018-02-01T09:27:16.573 回答
0

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

于 2010-09-07T19:18:37.180 回答
-1

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

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

于 2010-09-07T19:38:47.163 回答