我想在图像上绘制矩形以标记特定区域。 我看到了这个问题:Draw Rectangle over Image,它起作用了。我在图像上得到一个矩形。现在,我想获取图像上的真实像素位置。我知道我通过Canvas.Left,Canvas.Top获得了一些数据,但是Canvas和图像位置之间的关系在哪里?
谢谢Lyror
答案 0 :(得分:1)
要执行此操作,您可以轻松地将其放在这样的视图框中:
<Viewbox> <!-- I will make this construct fit everywhere -->
<Grid> <!-- I will be exactly the size of the image -->
<Image Source="/MyImagegeWithResolutionOf1080x720p.jpg"
Width="{Binding Source.PixelWidth, RelativeSource={RelativeSource Self}}"
Height="{Binding Source.PixelHeight, RelativeSource={RelativeSource Self}}"
Stretch="Fill"/>
<Canvas> <!-- use me to draw your stuff -->
<Rectangle Width="10" Height="10" Canvas.Bottom="360" Canvas.Left="540"/> <!-- I will be in the center -->
</Canvas>
</Grid>
</Viewbox>