WPF C# неправильные координаты мыши - PullRequest
0 голосов
/ 19 марта 2020

Так что я пытаюсь получить координаты мыши по нажатию на изображение, и оно дает неправильные координаты. Когда я перемещаю мышь для рисования, линия появляется вдали от курсора. Это код, который я использую, чтобы получить координаты мыши:

    private void ponaredek_MouseDown(object sender, MouseButtonEventArgs e)
    {
        mouseDown = true;
        //x1 = System.Windows.Forms.Control.MousePosition;
        x1 = new System.Drawing.Point((int)e.GetPosition(this).X, (int)e.GetPosition(this).Y);
    }

x1 имеет тип System.Drawing.Point (мне нужна точка на чертеже, чтобы использовать в emgucv). Что мне нужно сделать, чтобы исправить положение курсора (я нарисовал там, где был курсор) enter image description here

1 Ответ

1 голос
/ 19 марта 2020

Вы хотите получить положение мыши относительно элемента изображения, а не окна. Поэтому замените

e.GetPosition(this)

на

e.GetPosition((IInputElement)sender)

или

e.GetPosition(ponaredek)

, если это элемент Image.

Это должно выглядеть так:

var pos = e.GetPosition((IInputElement)sender);
x1 = new System.Drawing.Point(pos.X, pos.Y);

Также убедитесь, что свойство Stretch элемента Image установлено в None.

...