0

我有两张背景图片,一张是模糊的,另一张是相同的图片,但色彩更丰富。默认背景图像是模糊的。当我移动光标时,我想将背景图像从模糊更改为彩色,但只能在光标周围的圆圈中,当我向前移动光标时,更改后的背景会停留在光标周围的圆圈中早点去了。(就像你用硬币刮彩票时一样)我想我必须处理 MouseMove 事件,并使用 MouseEventArgs 光标位置,但我无法通过,我真的需要帮助!提前致谢!

4

1 回答 1

1

您可能想尝试遵循以下路径:

  1. 添加一个Canvas到您的页面,大小与您的两个图像相同

  2. 创建椭圆形状的剪切路径 ( <Ellipse ...>) 并将其放置在图像之外的画布中

  3. 首先将“模糊图像”放在画布上(如下),然后是“清晰图像”,填充整个画布。

  4. 让椭圆成为“清晰图像”的剪贴蒙版(使用Image.ClipYourUIElement.Clip(参考MSDN

  5. 用鼠标光标移动椭圆。代码可能如下所示(注意:我没有测试代码):

-

imageCanvas.MouseMove += imageCanvas_MouseMove;

private void imageCanvas_MouseMove(object sender, MouseEventArgs e)
{
    Point mousePosition = e.GetPosition();
    Canvas.SetTop(myEllipse, mousePosition.Y - myEllipse.ActualHeight / 2);
    Canvas.SetLeft(myEllipse, mousePosition.X - myEllipse.ActualWidth / 2);
}

如果这可行,您可以增加您的视觉设计,在MouseEnter/MouseLeave等上添加动画。

于 2011-02-27T14:50:46.267 回答