WPF之几何图形Geometry

本文详细介绍了WPF中的Geometry类及其子类,包括LineGeometry、RectangleGeometry、EllipseGeometry、PathGeometry等,以及如何使用StreamGeometry和PathFigureCollection创建复杂路径。还探讨了Geometry的常用方法如GetArea、FillContains、StrokeContains等,以及在Path、DrawingContext和GeometryDrawing中的呈现方式。此外,文章还解析了PathGeometry的数据表示语法,包括直线、贝塞尔曲线和圆弧的绘制,并通过示例展示了不同绘制指令的使用。
摘要由CSDN通过智能技术生成

在WPF的DrawingContext对象中,提供了基本的绘制椭圆和矩形的API:DrawEllipse和DrawRectangle。但是,这些是远远不够用的,我们在日常应用中,更多的是使用DrawGeometry函数,它可以绘制更多复杂的几何图形,并且提供了许多强大而易用的函数,在大多数场景下,甚至可以取代DrawEllipse和DrawRectangle函数。

在WPF图形体系中,Geometry类表示几何图形的基类,使用的时候是实例化它的一些子类,具体的有:

基本几何图形

  

 

几何图形集合

路径集合图形PathGeometry里可以包含一系列几何图形集合,常见的有:

贝塞尔曲线:贝塞尔曲线系列还比较多,具体有如下几种:

  1. BezierSegment:在两个点之间创建一条三次方贝塞尔曲线。
  2. PolyBezierSegment:创建一系列三次方贝塞尔曲线。
  3. PolyQuadraticBezierSegment:创建一系列二次贝塞尔曲线。
  4. QuadraticBezierSegment:创建一条二次贝塞尔曲线。

除了这种组合的方式之外,系统还提供了一个通过一系列API来绘制的StreamGeometry。它不支持绑定,动画,相应也更加灵活而高效。

    StreamGeometry geometry = new StreamGeometry;

    using (StreamGeometryContext ctx = geometry.Open())
    {
        ctx.BeginFigure(new Point(10, 100), true , true);
        ctx.LineTo(new Point(100, 100), true , false);
        ctx.LineTo(new Point(100, 50), true, false);
    }

 

复合几何图形

使用 GeometryGroupCombinedGeometry 或者通过调用静态的 Geometry 方法 Combine,可以创建复合几何图形对象。它们主要的区别是:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值