将视图端口坐标转换为实际图像坐标

时间:2012-03-05 20:56:41

标签: c# silverlight image c#-4.0 silverlight-4.0

我有一个关于:(14848 PX宽度* 14336 PX高度)的大图像我使用了深度缩放工具并将文件导出到silverlight,并使用了“多尺度图像”控件。 多尺度图像为400 * 400像素。 在项目开始之后,当我点击图像中的某些位置时,我想要知道真实图像的“真实”坐标而不是多尺度控件的宽度,考虑平移和缩放因子... 所以如果有办法知道那个。我希望你们能帮助我。 提前。

1 个答案:

答案 0 :(得分:0)

这方面的MSDN文档是没有希望的。 This blog post实际上定义了术语:

  • 逻辑坐标 - 是一个标准化值(0到1),表示图像本身的坐标(不是控件)
  • 元素坐标 - 是实际的控制坐标。例如,在宽度= 800的MultiScaleImage中,Height = 400,当鼠标位于中心时,元素坐标为400,400。这些坐标未标准化。

[我从博文中复制了这个定义,但示例似乎错了:元素坐标应该是400,200。]

很明显,您希望MultiScaleImage.ElementToLogicalPoint将鼠标坐标转换为图像坐标。

图像坐标在[0,1]范围内。只需乘以原始图像宽度/高度即可获得原始图像中的像素坐标。