2011-12-13 80 views
2

我有一個帶縮放(ScaleTransform)的畫布。現在我已經通過一些任意縮放值縮放了畫布。我在MouseDown事件中添加了RectangleGeomtry。但奇怪的是,Shape正在被添加到畫布上,並在MouseDown點上添加+/- dx和+/- dy。在WPF畫布上的mousedown點添加形狀

任何導致爲什麼發生這種情況非常感謝。

回答

1

在縮放畫布中,你應該得到點的反變換(比例和轉換),然後在構建幾何體後應用變換(比例和平移)。有效。我不確定這是否是最好的方法。

0

當您應用縮放變換時,所有點都會變形(移動)。例如,如果你有A點(10,20),並且你將一個2的比例應用到圖像上,那麼你的A點現在就是A(20,40)。當你想添加一個點到一個縮放的圖像,你必須調整這樣的座標......(按比例乘)

+0

不,你不應該乘。在縮放畫布中,您應該獲得該點的逆變換(比例和平移),並在構建幾何後應用變換(比例和平移)。有效。我不確定這是否是最好的方法。 – Sam