C# 如何将元数据与DeepZoom子映像关联?
我试图根据与每个图像相关联的任意数据,对DeepZoom子图像集合进行排序。子图像通过DeepZoom Composer生成的XML文件自动加载。我看不到一个清晰的方法将任意数据与DeepZoom子图像关联起来 对我来说,最明显的解决方案是脆弱的,而且不能很好地扩展。理想情况下,我希望将相关数据放在生成的XML文件中,但在下一组生成的图像中会丢失这些信息C# 如何将元数据与DeepZoom子映像关联?,c#,silverlight,deepzoom,C#,Silverlight,Deepzoom,我试图根据与每个图像相关联的任意数据,对DeepZoom子图像集合进行排序。子图像通过DeepZoom Composer生成的XML文件自动加载。我看不到一个清晰的方法将任意数据与DeepZoom子图像关联起来 对我来说,最明显的解决方案是脆弱的,而且不能很好地扩展。理想情况下,我希望将相关数据放在生成的XML文件中,但在下一组生成的图像中会丢失这些信息 是否有一种行之有效的方法来实现这一目标?Metadata.xml有一个可以与每个图像关联的标记属性。万岁 Metadata.xml具有可与每个
是否有一种行之有效的方法来实现这一目标?Metadata.xml有一个可以与每个图像关联的标记属性。万岁 Metadata.xml具有可与每个图像关联的标记属性。万岁 正如您所注意到的,DeepZoomComposer支持可在Silverlight MultiScale图像控件()中使用的
元素
在DeepZoomComposer中编辑并重新生成时,您将“丢失”添加到XML文件中的任何信息,这也是正确的(但是,如果您在DeepZoomComposer中键入,则不会丢失这些信息)
为了解决这个问题,我编写了一个名为的小控制台应用程序——基本上是:
TagUpdater.exe Metadata.xml
(DeepZoomComposer将生成Metadata.xml文件)metadata.xml
(见下文)。它会破坏现有的
数据,但除此之外,该文件可以像以前一样用于为多尺度图像控件中的DeepZoom集合提供元数据信息
<Image>
<FileName>C:\Documents and Settings\xxxxxx\My Documents\Expression\Deep Zoom Composer Projects\Bhutan\source images\page01.jpg</FileName>
<x>0</x>
<y>0</y>
<Width>0.241254523522316</Width>
<Height>0.27256162721473</Height>
<ZOrder>1</ZOrder>
<Tag>Bhutan,Mask</Tag>
<Description>Land of the Thunder Dragon</Description>
<Title>Bhutan 2008</Title>
<Rating>3</Rating>
</Image>
希望这会引起一些兴趣-TagUpdater本身并不是实现这一点的唯一方法。它非常简单:它只需打开Metadata.XML文件,循环通过
元素打开
,提取元数据,添加其他XML元素并保存XML。使用文件名作为“键”,您可以从数据库中获取附加信息(例如价格或更多描述数据),并根据需要扩展XML文件。正如您所注意到的,DeepZoomComposer支持可在Silverlight MultiScaleImage控件()中使用的
元素
在DeepZoomComposer中编辑并重新生成时,您将“丢失”添加到XML文件中的任何信息,这也是正确的(但是,如果您在DeepZoomComposer中键入,则不会丢失这些信息)
为了解决这个问题,我编写了一个名为的小控制台应用程序——基本上是:
TagUpdater.exe Metadata.xml
(DeepZoomComposer将生成Metadata.xml文件)metadata.xml
(见下文)。它会破坏现有的
数据,但除此之外,该文件可以像以前一样用于为多尺度图像控件中的DeepZoom集合提供元数据信息
<Image>
<FileName>C:\Documents and Settings\xxxxxx\My Documents\Expression\Deep Zoom Composer Projects\Bhutan\source images\page01.jpg</FileName>
<x>0</x>
<y>0</y>
<Width>0.241254523522316</Width>
<Height>0.27256162721473</Height>
<ZOrder>1</ZOrder>
<Tag>Bhutan,Mask</Tag>
<Description>Land of the Thunder Dragon</Description>
<Title>Bhutan 2008</Title>
<Rating>3</Rating>
</Image>
希望这会引起一些兴趣-TagUpdater本身并不是实现这一点的唯一方法。它非常简单:它只需打开Metadata.XML文件,循环通过
元素打开
,提取元数据,添加其他XML元素并保存XML。使用文件名作为“密钥”,您可以从数据库中获取附加信息(例如,价格或更多描述数据),并根据需要扩展XML文件。@CraigD,非常酷的回答,您提供的信息非常好,但我的一个问题仍然没有回答,即如何知道选择了哪幅图片(当鼠标停在图片上时)?我需要知道光标所在的图片,以便在面板上显示相关的元数据。我从以下URL下载了您提到的示例的源代码,但相关的mousemove事件似乎无法处理决定鼠标光标当前所在图片的问题?@CraigD,非常酷的回答,infor您提供的信息非常好,但我的一个问题仍然没有回答,即如何知道选择了哪张图片(当鼠标停在图片上时)?我需要知道光标所在的图片,以便在面板上显示相关元数据。我从以下URL下载了您提到的示例的源代码,但相关的mousemove事件似乎无法处理确定鼠标光标当前所在图片的问题?