Как получить переведенные координаты из позиции мыши - PullRequest
0 голосов
/ 31 декабря 2011

У меня есть форма в WPF.Он содержит изображение, которое можно перемещать и масштабировать.Вот код, отвечающий за перемещение и масштабирование:

        MatrixTransform finalTransform = null;

        Matrix translateMatrix = new Matrix();
        translateMatrix.Translate(TranslationOffset.X, TranslationOffset.Y);

        Matrix scaleMatrix = new Matrix();
        scaleMatrix.ScaleAt(Scale, Scale, image1.Width / 2, image1.Height / 2 );

        finalMatrix = scaleMatrix * translateMatrix;

        finalTransform = new MatrixTransform(finalMatrix);
        image1.RenderTransform = finalTransform;

Теперь я нажимаю ЛКМ на изображении и хочу получить координаты изображения с позиции мыши.

Я имею в виду, если я нажму на верхний левый угол изображения, я получу (0,0) (независимо от положения и масштаба изображения), когда я нажму на правый нижний угол, я получу, например, 640x480 (дляразмер изображения 640x480).

Думаю, я что-то сделаю с матрицами, но не знаю, что именно.

1 Ответ

2 голосов
/ 01 января 2012

Это кажется довольно простым: Point relativeToPicture = e.getPosition(myPicture);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...