2013-06-27 5 views
2

이 코드를 사용하여 이미지 좌표를 얻을 수 있습니다. 그러나 Matrix를 사용하여 동일하게 작업하고 싶습니다.매트릭스를 사용하여 마우스 좌표를 변환하는 방법은 무엇입니까?

 private int _angle = 90; 
     float scaleFactorX = (float)resizeWidth/(float)originalWidth; 
     float scaleFactorY = (float)resizeHeight/(float)originalHeight; 

     graphics.TranslateTransform((float)(width/2), (float)(height/2)); 
     graphics.ScaleTransform(scaleFactorX, scaleFactorY); 
     graphics.RotateTransform(_angle); 
     graphics.TranslateTransform(-(float)originalWidth/2, -(float)originalHeight /2); 
     graphics.TransformPoints(System.Drawing.Drawing2D.CoordinateSpace.World, System.Drawing.Drawing2D.CoordinateSpace.Device, point); 

감사합니다.

답변

1

Matrix 유형 인스턴스를 전달한 경우 Graphics.MultiplyTransform을 사용할 수 있습니다. ,

Matrix mx = new Matrix(); 

Rotate

Scale

Translate

내가이 순서에 따라 먼저 번역을하지 제안 :

매트릭스 유형은에 aplying 어트 변환을위한 방법이있다 이 경우 회전 중심 및 회전축으로 엉망이되기 쉽습니다.

+0

: 그래픽 자체가 객체에 안다 따고 행렬을 생성 적용 – Tigran

관련 문제