Я нахожусь на Wpf, и у меня есть список координат, где я рисую их на растровом изображении. Мой файл растрового изображения 1000 * 1000
, и он заполняется в 680 * 440
Image control. Теперь то, что я пытаюсь сделать, - выделить координаты, которые находятся рядом с курсором мыши, когда мышь обнимает мое изображение.Как получить положение координаты относительно позиции мыши?
на MouseMove()
обработчик событий, я называю эту функцию и передать ей свою позицию мыши относительно контроля изображения:
public void HighLightNearbyDots(Point MousePosition)
{
int Distance;
CoordPoint temp = new CoordPoint();
temp.X = MousePosition.X;
temp.Y = MousePosition.Y;
foreach (var point in myDisplayedCoords)
{
Distance = (int)(temp - point); // using subtraction operator that I wrote
if (Distance < 10)
{
point.Color = Colors.Blue;
}
else
{
point.Color = InitialCoordColor; // Aqua
}
}
DrawImage();
}
Да перерисовывать мой образ при каждом вызове, чтобы отразить изменения. Может быть, проблема в том, что мне нужно масштабировать или рассчитать некоторое соотношение между размером файла 1000 * 1000
и размером управления 680 * 440
, чтобы достичь точного пикселя. Но я не уверен, в чем проблема. Ниже приведен текущий результат, который убивает меня с утра. Может ли кто-нибудь помочь мне подойти к этому?