javascript - OpenSeaDragon 不在 dzc_output.xml 文件中显示多个图像
问题描述
我正在尝试使用 OpenSeaDragon 显示多个图像。我使用 Deep Zoom Composer 创建图像文件,它生成了以下 XML 文件(删节):
dzc_output.xml:
<?xml version="1.0" encoding="utf-8"?>
<Collection MaxLevel="8" TileSize="256" Format="jpg" NextItemId="5" ServerFormat="Default" xmlns="http://schemas.microsoft.com/deepzoom/2009">
<Items>
<I Id="0" N="0" Source="dzc_output_images/ft1.xml">
<Size Width="825" Height="584" />
<Viewport Width="5.2402050398801272" X="-0" Y="-0" />
</I>
<I Id="1" N="1" Source="dzc_output_images/ft2.xml">
<Size Width="824" Height="583" />
<Viewport Width="5.2375806686733934" X="-1.0500455705877254" Y="-0" />
</I>
<!--3 more images not shown as not necessary-->
</Items>
</Collection>
我创建了一个非常简单的 HTML 页面来显示查看器(我计划在最终项目中使用 Django)。我使用以下代码创建了查看器:
var viewer = OpenSeadragon({
id: "openseadragon1",
prefixUrl: "openseadragon/images/",
tileSources: "imagesources/dzc_output.xml",
sequenceMode: true
});
我python -m http.server
用来提供 html 页面所在的文件夹。它适用于单个图像。但是,由于这个 dzc_output.xml 文件包含多个图像,当我加载页面时,查看器会显示“无法打开 [object Object]:无法加载 TileSource”。滚动图像会产生此错误:“无法打开 [object Object]:HTTP 404 试图加载 TileSource”
我不确定这里有什么问题。任何帮助都会很好。
解决方案
确实……那是“Deep Zoom Collection”,与 OpenSeadragon 支持的“Deep Zoom Image”格式不同。我们有一个支持 DZC 的问题:https ://github.com/openseadragon/openseadragon/issues/67 ,但到目前为止还没有任何行动。
此时,您有多种选择:
- 而是从 Deep Zoom Composer 将图像导出为 DZI。
- 编写一个脚本,将 DZC 输出转换为一系列 DZI,以便在 OSD 中使用。
- 帮助我们实现对 OSD 的原生 DZC 支持。
现在我们有了真正的多图像,支持 DZC 应该不会太难。一方面,如https://github.com/openseadragon/openseadragon/issues/67中所述,DZC 还包括一个带有图像缩略图的附加图块金字塔(请参阅https://docs.microsoft.com/en-我们/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc645077(v=vs.95)#collections了解更多信息)。这是一个很好的优化(节省网络流量),但我们可以跳过它作为初学者,只使用 DZC 作为 DZI 的目录。
请注意,此问题也在https://github.com/openseadragon/openseadragon/issues/1735中讨论。
推荐阅读
- primefaces - 在 PrimeFaces 中找不到要导入的 UploadedFiles 类
- php - json数据如何使用php变成动态html表?
- python - IndexError:列表索引超出范围python插入到二维数组(列表)
- java - The java.time.LocalDate parameter processes as java.util.Date in hibernate query
- arrays - 如何在字段为数组的mongodb字段上返回列表?
- django - KeyError:request.sessions Django 3
- mongodb - 如何在 mongodb 查询中使用 uuid?
- generics - Bug in C# 8.0 compiler or .NET Core 3 run-time?
- php - Worpdress 无法将特色图片上传到帖子和媒体库
- javascript - 从 google drive API 获取图像