2011-12-31 3 views
0

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; 

이제 LMB 이미지를 클릭하고 마우스 위치에서 이미지 좌표를 가져 오려고합니다.

이미지의 왼쪽 위 모서리를 클릭하면 (이미지 위치와 축척에 관계없이) (0,0)이 표시되고, 오른쪽 하단 모서리를 클릭하면 예를 들어 나타납니다. 640x480 (이미지 크기 640x480)

나는 매트릭스로 무엇인가를해야한다고 생각하지만 정확히 무엇을 해야할지 모르겠습니다.

답변

2

매우 간단하다고 생각합니다. Point relativeToPicture = e.getPosition(myPicture);

관련 문제