Положение холста к пикселю изображения - PullRequest
0 голосов
/ 18 марта 2019

Я хочу нарисовать прямоугольники над изображением, чтобы разметить определенные области. Я видел этот вопрос: Нарисуйте прямоугольник над изображением , и это сработало. Я получаю прямоугольник над изображением. Теперь я хочу получить реальное положение пикселя на изображении. Я знаю, что получаю некоторые данные через Canvas.Left, Canvas.Top, но где связь между Canvas и положением изображения?

Спасибо Lyror

1 Ответ

1 голос
/ 18 марта 2019

Чтобы сделать это, вы можете легко поместить его в окно просмотра, например так:

<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>
...