Добавление формы в точку mousedown на холсте WPF - PullRequest
2 голосов
/ 13 декабря 2011

У меня есть холст с масштабированием (ScaleTransform). Теперь я масштабировал холст по произвольному значению увеличения. Я добавляю RectangleGeomtry в MouseDown Point с каждым событием MouseDown. Но странным является то, что Shape добавляется на холст с некоторыми +/- dx и +/- dy к точке MouseDown.

Любые выводы о том, почему это событие высоко ценится.

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

В масштабированном холсте вы должны получить обратное преобразование (Scale и Translate) точки, а затем применить преобразование (Scale и Translate) после построения геометрии.Это сработало.Я не уверен, что это лучший способ.

0 голосов
/ 13 декабря 2011

Когда вы применяете масштабное преобразование, все точки трансформируются (перемещаются). Например, если у вас есть точка A (10,20) и вы применили шкалу 2 к изображению, ваша точка A теперь будет A (20,40). Если вы хотите добавить точку к масштабированному изображению, вы должны откорректировать координаты следующим образом ... (умножить на масштаб)

...