2019-11-29-WPF-元素裁剪-Clip-属性
2021-01-22 21:14
阅读:775
title | author | date | CreateTime | categories |
---|---|---|---|---|
WPF 元素裁剪 Clip 属性 |
lindexi |
2019-11-29 08:24:24 +0800 |
2019-1-3 15:57:0 +0800 |
WPF |
本文介绍如何在 WPF 使用 Clip 裁剪元素
在 WPF 的 UIElement 提供了 Clip 属性,这个属性默认是空,但是如果设置了这个属性就会对元素进行裁剪
这个属性是一个 Geometry 属性,设置的值表示裁剪之后剩下的部分,如写一个简单的类继承 UIElement 然后对他进行裁剪
class SisdecereYipuVayderyecallMawqere : UIElement { /// inheritdoc /> public SisdecereYipuVayderyecallMawqere() { } /// inheritdoc /> protected override void OnRender(DrawingContext drawingContext) { drawingContext.DrawRectangle(Brushes.Black,null,new Rect(10,10,100,100)); } }
现在这个类会在 10,10 的坐标画出大小是 100 的矩形
对他裁剪,设置裁剪的是矩形裁剪
public SisdecereYipuVayderyecallMawqere() { Clip = new RectangleGeometry(new Rect(30, 30, 50, 50)); }
从图片很难看出来不同,只是可以看到两个矩形,第一个矩形比较大
对他进行圆形裁剪
public SisdecereYipuVayderyecallMawqere() { Clip = new EllipseGeometry(new Point(30, 30), 10, 10); }
可以看到显示的是圆形
因为设置 Clip 属性是一个裁剪的窗口,只有在裁剪区域之内才可以显示
因为 Geometry 是可以做到不连续的,所以可以做出部分的透明,如裁剪两个矩形
public SisdecereYipuVayderyecallMawqere() { Geometry geometry = new RectangleGeometry(new Rect(10,10,10,10)); geometry = Geometry.Combine(geometry, new RectangleGeometry(new Rect(30, 30, 10, 10)), GeometryCombineMode.Union, null); Clip = geometry; }
上面代码使用 Geometry.Combine 合并两个图形
WPF 通过 DrawingContext DrawImage 绘制图片
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:2019-11-29-WPF-元素裁剪-Clip-属性
文章链接:http://soscw.com/index.php/essay/45603.html
文章标题:2019-11-29-WPF-元素裁剪-Clip-属性
文章链接:http://soscw.com/index.php/essay/45603.html
评论
亲,登录后才可以留言!