【发布时间】:2016-07-15 15:54:38
【问题描述】:
我在 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 控件大小之间的某个比率以达到精确的像素。但我不确定是什么问题。以下是从早上开始就让我丧命的当前结果。谁能帮我解决这个问题?
【问题讨论】:
标签: c# wpf logic coordinates