Проблема с матрицей Scale в сцене холста и положении мыши [WinForms] - PullRequest
0 голосов
/ 16 мая 2019

После применения матрицы масштабирования к моей сцене рисуемых объектов, фактическое положение в сцене курсора мыши неверно.

По моему мнению, проблема вызвана местоположением, которое я получил от события контроля (mousedown, up и move), которое не соответствует геометрии моей сцены.

 var matrix = this.Control.Scene.Matrix.Inverse();
 this.CoordsLabel.Text = matrix.MultiplyPoint(e.Location).ToString()

Когда моя сцена сильно увеличена, «matrix.MultiplyPoint (e.Location)» возвращает то же значение для короткого движения мыши. Другая операция, как перевод, вращение работает отлично.

Пример изображения:

Здесь курсор находится рядом с нарисованным серым крестом

Здесь, это очень масштабная ситуация, курсор не находится над серой перекрестной линией, и при небольшом движении мыши серая линия не изменяется, как если бы умножение с матрицей сцены давало мне то же самое значение координаты. (Matrix.MultiplyPoint (e.Location))

Пожалуйста, помогите мне с этой проблемой. Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...