-2

我有一个需要在运行时更改大小的图像,我想做的是当用户按下鼠标左键并且光标位于图像的边框上时,然后当他移动鼠标光标时图像大小根据光标所在的位置而变化。

这是我到目前为止所拥有的:

   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;
   }

问题是图像不会根据光标而改变。任何人都可以帮忙吗?

4

1 回答 1

0

问题在于您的代码逻辑:图像只会在非常特定的坐标上发生变化。x == 138例如,我花了很长时间才准确地单击图像,即便如此,我也花了更多时间来找到匹配的像素204 < y < 252

当我确实找到正确的位置时,图像会根据要求自行调整大小。

我建议重新检查您的语句中的逻辑,if至少 - 允许更大范围的坐标(例如x <= 40 && x >= 70,而不是 just x == 83

于 2012-11-25T11:51:58.437 回答