效果图
1.首先使用RectangleGeometry绘制蒙层区域,然后组合几何图形合并
2.鼠标按下滑动使用EllipseGeometry绘制以鼠标区域大小(自己定义大小)为直径的圆形,然后绘组合几何图形排除
代码部分
初始化
//绘制蒙层
RectangleGeometry g = new RectangleGeometry
{
Rect = new Rect(0, 0, this.Width, this.Height)
};
//组合几何图形合并
_geometry = Geometry.Combine(_geometry, g, GeometryCombineMode.Union, null);
GridShadow.Clip = _geometry;
鼠标按下滑动实现刮刮乐效果
if (_bDown)
{
//鼠标滑动刮开区域大小
EllipseGeometry g = new EllipseGeometry
{
Center = e.GetPosition(GridShadow),
RadiusX = 20,
RadiusY = 20
};
//绘组合几何图形排除
_geometry = Geometry.Combine(_geometry, g, GeometryCombineMode.Exclude, null);
GridShadow.Clip = _geometry;
}