1
我在Wpf上,我有一个坐标列表,我在一张位图图像上绘制它们。我的位图文件是1000 * 1000
,它被填入680 * 440
图像控件。现在我想要完成的是在鼠标悬停我的图像时突出显示鼠标光标附近的坐标。如何获得坐标相对于鼠标位置的位置?
上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
控件大小之间的某个比率以达到确切的像素。但我不确定是什么问题。下面是目前的结果,这是自上午以来,我正在杀死我。有人能帮我解决吗?