画布位置到图像像素

时间:2019-03-18 12:27:24

标签: wpf image canvas pixel

我想在图像上绘制矩形以标记特定区域。 我看到了这个问题:Draw Rectangle over Image,它起作用了。我在图像上得到一个矩形。现在,我想获取图像上的真实像素位置。我知道我通过Canvas.Left,Canvas.Top获得了一些数据,但是Canvas和图像位置之间的关系在哪里?

谢谢Lyror

1 个答案:

答案 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>