2023年7月19日发(作者:)
C#开发学习笔记:WPF的⼆维绘图(⼆)——⼏何图形Geometry转载⾃:在WPF的DrawingContext对象中,提供了基本的绘制椭圆和矩形的API:DrawEllipse和DrawRectangle。但是,这些是远远不够⽤的,我们在⽇常应⽤中,更多的是使⽤DrawGeometry函数,它可以绘制更多复杂的⼏何图形,并且提供了许多强⼤⽽易⽤的函数,在⼤多数场景下,甚⾄可以取代DrawEllipse和DrawRectangle函数。在WPF图形体系中,Geometry类表⽰⼏何图形的基类,使⽤的时候是实例化它的⼀些⼦类,具体的有:基本⼏何图形线段:矩形:椭圆:
⼏何图形集合
路径集合图形⾥可以包含⼀系列⼏何图形集合,常见的有:线段:
弧:贝塞尔曲线:贝塞尔曲线系列还⽐较多,具体有如下⼏种:1. :在两个点之间创建⼀条三次⽅贝塞尔曲线。2. :创建⼀系列三次⽅贝塞尔曲线。3. :创建⼀系列⼆次贝塞尔曲线。4. :创建⼀条⼆次贝塞尔曲线。除了这种组合的⽅式之外,系统还提供了⼀个通过⼀系列API来绘制的。它不⽀持绑定,动画,相应也更加灵活⽽⾼效。 StreamGeometry geometry = new StreamGeometry; using (StreamGeometryContext ctx = ()) { igure(new Point(10, 100), true , true); (new Point(100, 100), true , false); (new Point(100, 50), true, false); }
复合⼏何图形使⽤ 、 或者通过调⽤静态的 ⽅法 ,可以创建复合⼏何图形对象。它们主要的区别是: 对⼦图形进⾏叠加操作,没有⾯积的⼦图形将被丢弃。只能组合两个⼦图形(但是这两个⼦图形也可以是复合⼏何图形)。 只进⾏组合,⽽不进⾏⾯积叠加。可以添加多个⼦图形。有关⽰例,请参见。的叠加⽅式有四种:、、 和 ,它们的效果为:
这些在我们的⽇常应⽤中是⾮常有⽤的,具体⽰例请参看MSDN⽂章: 和。
常⽤⽅法Geometry对象中本⾝还包含了⼀系列⾮常有⽤的⽅法,如: - 获取 的⾯积。 - 确定是否包含其他 。 - 确定是否包含指定的点。Bounds:获取外接矩形这些都是⾮常常⽤的⽅法,例如FillContains,StrokeContains⽤于⿏标命中测试是⾮常⽅便的。
呈现⽅式Geometry对象并不能作为图像独⽴呈现出来,它⼀般有如下⼏种呈现⽅式:在Path中呈现:可以作为ry的参数呈现为Path对象
当然,Drawing对象也不能独⽴呈现,⼀般是作为DrawingBrush或作为awing的参数来使⽤的
其它⽤途:作为参数裁剪控件
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689717771a280657.html
评论列表(0条)