如何从鼠标位置获取平移坐标

时间:2011-12-31 16:09:02

标签: c# wpf image 2d

我在WPF中有一个表单。它包含Image可以移动和缩放的内容。以下是负责移动和缩放的代码:

        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;

现在,我点击图像上的LMB,我想从鼠标位置获取图像坐标。

我的意思是如果我点击图像的左上角我会得到(0,0)(无论图像位置和比例),当点击右下角时我会得到例如640x480(图像尺寸640x480)。

我想,我会用矩阵做点什么,但我不知道到底是什么。

1 个答案:

答案 0 :(得分:2)

它认为这很简单:Point relativeToPicture = e.getPosition(myPicture);