我有一个图像,我需要改变运行时的大小,我想要做的是,当用户按下鼠标左键并且光标位于图像的边框上时,然后当他移动时鼠标光标图像大小根据光标的位置而变化。
这是我到目前为止所做的:
Point p = e.GetPosition(this);
Image img = (Image)e.Source;
var pos =Mouse.GetPosition(this);
if ((p.X == 89 && (p.Y > 204 && p.Y < 252)) || (p.Y == 245 && (p.X > 89 && p.X < 138)) || (p.Y == 213 && (p.X > 89 && p.X < 138)) || p.X == 138 && p.Y > 204 && p.Y < 252)
{
img.Width = p.X;
img.Height = p.Y;
}
问题是图像不会根据光标而改变。有人可以帮忙吗?
答案 0 :(得分:0)
问题在于代码的逻辑:
图像仅在非常具体的坐标上发生变化。我需要花费很长时间才能在x == 138
时完全点击图片,而即便如此我花了更多时间找到与204 < y < 252
匹配的像素。
当我 找到正确的位置时,图片会根据要求自行调整大小。
我建议您在if
语句中重新检查逻辑,至少 - 允许更大范围的坐标(例如x <= 40 && x >= 70
而不仅仅是x == 83
)