wpf绘图

本文介绍了WPF中的两种绘图方式——形状绘图和几何绘图。形状绘图包括Rectangle、Ellipse、Polygon、Path和Line等,而几何绘图涉及LineGeometry、RectangleGeometry、EllipseGeometry、GeometryGroup和PathGeometry等。PathGeometry允许创建复杂的形状,包括直线、圆弧和贝塞尔曲线。此外,文章详细阐述了各种绘图对象的属性,如Stroke、Fill、 Brush类型和Path的Data属性,强调了Path在WPF绘图中的灵活性和强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绘图有两种方式:形状绘图和几何绘图。形状绘图: 形状(Shape) 是一个2D绘图类,位于System.Windows.Shape空间内。形状绘图中最常用的绘图对象:Rectangle 矩形 ,Ellipse 椭圆 Polygon 多边形, Path 路径 ,Line 直线 。
直线是最简单的图形。使用X1、Y1两个属性可以设置它的起点坐标,X2、Y2两个属 性则用来设置其终点坐标。控制起点/终点坐标就可以实现平行、交错等效果。
Stroke(笔触)属性的数据类型是Brush(画刷),凡是Brush的派生类均可用于给这个属性赋值。因为WPF提供了多种渐变色画刷,所以画直线也可以画出渐变效果。同时,Line的一些属性还帮助我们画出虚线以及控制线段终点的形状。
WPF的几何绘图。几何与图形绘图不同,几何绘图的图形对象可以独立存在,可以独立绘制出具体需要的图形,几何图形对象没有具体得到形体,它需要依赖于某一对象元素而存在,不能直接呈现在画板上。
几何绘图包括5种对象:①:LineGeometry: 确定两点绘制一条直线。
②:RectangleGeometry : 绘制矩形的几何图形。③:EllipseGeometry: 绘制椭圆图形的几何图形。④:GeometryGrooup : 组合几何对象,将多个单一的几何对象组合成一个几何对象。⑤:PathGeometry : 路径几何对象。
其中,路径Path的拥有各种线段:LineSegment 直线段。ArcSegment 圆弧线段。BezierSegment 三次贝塞尔曲线段(默认贝斯尔曲线是指三次曲线,所以
Cubic一词被省略)。QuadraticBezierSegment 二次贝塞尔曲线段。
PolyLineSegment 多直线段。PolyBezierSegment 多三次方贝塞尔曲线段。
PolyQuadraticBezierSegment 多二次贝塞尔线段。
LineSegment最为简单,只需要控制它的Point(终点)即可。ArcSegment 圆弧线段。用来绘制圆弧。其Point属性用来指明圆弧连接的终点;圆弧截取自椭圆,Size属性即是完整椭圆的横轴半径和纵轴半径; SweepDirection属性指明圆弧是顺时针方向还是逆时针方向;
BezierSegment (三次方贝塞尔曲线)由4个点决定:1、起点:即前一个线段的终点或PathFigure的StartPoint。2、终点:Point3属性,即曲线的终点位置。3、两个控制点:Point1和Point2属性。
QuadraticBezierSegment (二次贝塞尔曲线段)与BezierSegment类似,只是控制点由两个减少为一个。也就是说,QuadraticBezierSegment 由三个点决定:1、起点:即前一个线段的终点或PathFigure的StartPoint。2、终点:Point2属性,即曲线的终点位置。3、一个控制点:Point1。
WPF中的绘图对象-矩形。矩形由笔触(Stroke,即边线)和填充(Fill)构成。Stroke属性的设置与Line一 样,Fill属性的数据类型是Brush。Brush是个抽象类,所以我们不可能拿一个Brush类的实例为Fill属性赋值而只能用Brush派生类的实例进行赋值。
WPF的绘图系统包含非常丰富的Brush类型,常用的有:
SolidColorBrush:实心画刷。在XAML中可以使用颜色名称字符串(如Red、Blue)直接赋值。LinearGradientBrush:线性渐变画刷。色彩沿设定的直线方向、按设定的变化点进行渐变。RadialGradientBrush:径向渐变画刷。色彩沿半径的方向、按设定的变化点进行渐变,形成圆形填充。ImageBrush:使用图片(Image)作为填充内容。
WPF中的绘图对象-路径绘图。使用路径绘图,需要注意两个要点。Path类和Data属性。Path类可以绘制曲线和复杂形状。Data属性使用了mini_language,即路径标记语法。
路径(Path)可以说是WPF绘图中最强大的工具,一来是因为它完全可以替代其他几种图形,二来它可以将直线、圆弧、贝斯二曲线等基本元素结合进来,形成更复杂的图形。
路径最重要的一个属性是Data,Data的数据类型是Geometry(几何图形),我们正是使用这个属性将一些基本的线段拼接起来、形成复杂的图形为Data属性赋值的语法有两种:一种是标签式的标准语法,另一种是专门用户绘制几何图形的“路径标记语法”。想要使用Path绘制图形,首先要知道几何图形数据是如何组合在Data属性中的。Path的Data属性是Geometry类,但Geometry类是个抽象类,。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值