2016-11-07 50 views
0

WPF有一個RotateTransform類,可以應用於DrawingContext。任何使用此轉換進行的繪圖操作都將相應地旋轉。我可以調用RotateTransform.Transform方法來顯式旋轉代碼中的單個點。我使用這個轉換來自由旋轉一些圖表圖形。TransformBack Point with RotateTransform

現在,爲了正確地對有效點進行鼠標點擊測試,我需要用這個RotateTransform實例反向旋轉給定點。雖然它似乎沒有提供。如何才能做到這一點?

我正在尋找這樣的事情TransformBack方法,很像IValueConverterConvertConvertBack方法:

var rotate = new RotateTransform(angle, centerX, centerY); 
Point virtualPoint = new Point(100, 200); 
Point realPoint = rotate.TransformBack(virtualPoint); // Doesn't exist 

回答

3

您可以使用Inverse變換:

var realPoint = rotate.Inverse.Transform(virtualPoint); 
+0

謝謝你,這是簡單的。 – ygoe