WPF 指定图形填充绘制图形
来源:互联网 发布:淘宝手机刷到单流程图 编辑:程序博客网 时间:2024/05/19 20:20
最近在WPF开发工作中遇到一个问题,需要用斜线填充指定的图形。
大家知道DrawGeometry可以实现绘制一个图形,它有三个参数。Brush brush, Pen pen, Geometry geometry;我们利用自己创建的DrawingBrush,作为第一个参数,对指定的geometry图形填充我们想要的图案。代码如下:
private DrawingBrush GenerateLeftObliqueLineBrush(){ GeometryGroup geoGroup = new GeometryGroup(); LineGeometry lineGeo = new LineGeometry(new Point(0, 0), new Point(20, 10)); geoGroup.Children.Add(lineGeo); GeometryDrawing geoDrawing = new GeometryDrawing(null, _apertureBlockPen, geoGroup); DrawingBrush leftObliqueLineBrush = new DrawingBrush(geoDrawing); leftObliqueLineBrush.ViewportUnits = BrushMappingMode.Absolute; leftObliqueLineBrush.Viewport = new Rect(0, 0, 20, 10); leftObliqueLineBrush.TileMode = TileMode.Tile; leftObliqueLineBrush.Stretch = Stretch.None; return leftObliqueLineBrush;}private DrawingBrush GenerateRightObliqueLineBrush(){ GeometryGroup geoGroup = new GeometryGroup(); LineGeometry lineGeo = new LineGeometry(new Point(0, 10), new Point(20, 0)); geoGroup.Children.Add(lineGeo); GeometryDrawing geoDrawing = new GeometryDrawing(null, _shieldBlockPen, geoGroup); DrawingBrush rightObliqueLineBrush = new DrawingBrush(geoDrawing); rightObliqueLineBrush.ViewportUnits = BrushMappingMode.Absolute; rightObliqueLineBrush.Viewport = new Rect(0, 0, 20, 10); rightObliqueLineBrush.TileMode = TileMode.Tile; rightObliqueLineBrush.Stretch = Stretch.None; return rightObliqueLineBrush;}
效果图如下:
0 0
- WPF 指定图形填充绘制图形
- WPF绘制图形
- Python使用matplotlib填充图形指定区域
- 绘制图形
- 绘制图形
- 绘制图形
- 绘制图形
- 绘制图形
- 图形绘制
- 绘制图形
- 图形绘制
- 绘制图形
- 绘制图形
- 图形绘制
- 图形绘制
- 绘制图形
- 图形绘制
- 图形绘制
- 九度OJ题目1065:输出梯形
- 配置Hadoop M/R 采用Fair Scheduler算法代替FIFO
- ActiveMQ
- Chrome浏览器 adobe flash player不是最新版本解决办法
- java.swing和Java.awt实现学生信息管理系统
- WPF 指定图形填充绘制图形
- memcache和memcached
- Android设计模式(十七)-代理模式
- 一种解决MySQL主从不一致的方法
- [乐意黎转载]学习JavaScript你必须掌握的8大知识点!
- 文章标题
- 星系炸弹
- MTK lcm 驱动加载流程 android M
- Linux学习总结(27)——CentOS7及以上系统的systemctl命令使用介绍