2019-11-29-WPF-元素裁剪-Clip-属性
2024-09-05 07:53:53
原文:2019-11-29-WPF-元素裁剪-Clip-属性
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 合并两个图形
最新文章
- Shell脚本_判断根分区使用率
- Html 小插件2
- ubuntu 14.04 使用极点五笔输入法
- SAP HANA 能做什么
- Java中几种常量池的区分
- Xposed 初尝
- Java注释分类
- debian apt sources
- 20165314《网络对抗技术》week1 Exp0 Kali安装
- 关于while read line 循环中变量作用域的问题
- kubernetes CRD学习笔记
- day83
- 利用fstream进行文件拷贝测试
- 使用 DirectX 创建 3D 图形
- 手把手让你实现开源企业级web高并发解决方案(lvs+heartbeat+varnish+nginx+eAccelerator+memcached)
- C. Edgy Trees Codeforces Round #548 (Div. 2) 【连通块】
- Samba 3.6.9 安装、管理
- Vue 组件6内联模板
- 启动MongoDB时,提示:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
- G1垃圾收集或者Java中垃圾收集的名词收集
热门文章
- Java内功心法,Set集合的详解
- django2-登录与出版社
- npm命令集合
- Qt 显示图片
- Mysql—配置文件my.ini或my.cnf的详解
- July 13th, 2018. Friday, Week 28th.
- 4.Java基础_Java类型转换
- 浅谈js的事件冒泡和事件捕获
- oracle 分组拼接
- [C4] Andrew Ng - Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization