WPF几何绘图之概述

首先,我们为什么要使用WPF绘图

WPF 提供高级绘图和动画功能,以前只能从专用库(具体来说,就是 Microsoft Windows 图形设备接口 (GDI) 和 Microsoft Windows GDI+)使用这些功能。现在,WPF 提供对多媒体、向量图形、动画和内容撰写的集成支持,使得开发人员可以轻松地生成悦目的用户界面和内容。使用 Microsoft Visual Studio .NET 或者甚至文本编辑器(如 Microsoft Visual Studio .NET),可以创建矢量图形或复杂的动画并将媒体集成到应用程序中。

WPF几何绘图主要使用的是geometry。

msdn上的定义为:从此抽象基类派生的类定义几何形状。Geometry 对象可用于剪裁和呈现二维图形数据以及对其进行点击测试。

命名空间  System.Windows.Media
程序集  PresentationCore(在 PresentationCore.dll 中)

 

正如定义上所说geometry是基类,抽象基类,我们绘图时一般使用它的派生类。例如: EllipseGeometry、PathGeometryCombinedGeometry

关于理论我们就了解这么多吧,如果有兴趣可以查看msdn:Geometry 概述

现在我们来了解它的功能,使用geometry我们可以绘制 直线,椭圆,矩形。

分别使用 LineGeometryEllipseGeometry RectangleGeometry 直接创建。

后面的文章中我会一一使用为大家带来实例。

当然大家可能发现了,还有几种类型是不包括的:弧线,贝塞尔曲线等等。这就需要使用到segment进行绘制。他们没有实现了geometry的类定义。

segment是包含在PathGeometry中的,PathGeometry派生自geometry,所以我们可以通过绘制PathGeometry 来绘制上述图形。

msdn有如下定义:

PathGeometry 类及其轻型等效项 StreamGeometry 类提供了描绘由弧线、曲线和直线组成的多个复杂图形的方法。

PathGeometry 的核心是 PathFigure 对象的集合;这些对象之所以这样命名是因为每个图形都描绘 PathGeometry 中的一个离散形状。每个 PathFigure 自身又由一个或多个 PathSegment 对象组成,每个这样的对象均描绘图形的一条线段。

线段有多种类型。

线段类型

说明

示例

ArcSegment

在两个点之间创建一条椭圆弧线。

如何:创建椭圆弧

BezierSegment

在两个点之间创建一条三次方贝塞尔曲线。

如何:创建三次方贝塞尔曲线

LineSegment

在两个点之间创建一条直线。

如何:在 PathGeometry 中创建 LineSegment

PolyBezierSegment

创建一系列三次方贝塞尔曲线。

请参见 PolyBezierSegment 类型页。

PolyLineSegment

创建一系列直线。

请参见 PolyLineSegment 类型页。

PolyQuadraticBezierSegment

创建一系列二次贝塞尔曲线。

请参见 PolyQuadraticBezierSegment 页。

QuadraticBezierSegment

创建一条二次贝塞尔曲线。

如何:创建二次贝塞尔曲线 .

PathFigure 中的线段将合并为一个几何形状,该形状将每一条线段的终点作为下一条线段的起点。PathFigureStartPoint 属性指定绘制第一条线段的起始点。后面的每条线段都以上一条线段的终点作为起点。例如,通过将 StartPoint 属性设置为 10,50 并创建 Point 属性设置为 10,150 的 LineSegment,可定义一条从 10,5010,150 的竖线。

 

个人感觉微软大可不必这么麻烦,可以像framework2.0 中GDI+一样封装成类来使用,当然这也可能与vista,WPF的技术还不太成熟有关。

 

后面的相关学习实例希望我有时间将它完成。:)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值