XAML绘图
XAML绘图有两种方式:形状绘图和几何绘图
1.形状绘图
Shape是一个2D绘图类,位于System.Windows.Shape空间内。最常用的绘图对象有:
line直线 Rectangle矩形 Ellipse椭圆 Polygon多边形等
图形对象共有属性Stroke
Stroke(笔触)属性的数据类型是Brush(画刷),说明如何绘制图形的轮廓,即所使用的画刷,凡是Brush的派生类均可用于给这个属性赋值。因为WPF提供了多种渐变色画刷,所以画直线也可以画出渐变效果。
Stroke属性的设置与Line一 样,Fill属性的数据类型是Brush。Brush是个抽象类,所以我们不可能拿一个Brush类的实例为Fill属性赋值而只能用Brush派生类的实例进行赋值。WPF的绘图系统包含非常丰富的Brush类型,常用的有:
SolidColorBrush:实心画刷。在XAML中可以使用颜色名称字符串(如Red、Blue)直接赋值。
LinearGradientBrush:线性渐变画刷。色彩沿设定的直线方向、按设定的变化点进行渐变。
RadialGradientBrush:径向渐变画刷。色彩沿半径的方向、按设定的变化点进行渐变,形成圆形填充。
ImageBrush:使用图片(Image)作为填充内容。
DrawingBrush:使用矢量图(Vector)和位图(Bitmap)作为填充内容。
VisualBrush:WPF中的每个控件都是由FrameworkElement类派生来的,而
FrameworkElement又是由Visual类的方法获得。获得这个可视化的形象后,我们可以用这个形象进行填充,这就是VisualBrush。比如当我想把窗体上的某个控件拖拽到另一个位置,当鼠标松开之前需要在鼠标指针下显示一个控件的“幻影”,这个“幻 影”就是用VisualBrush填充出来的一个矩形,并让矩形捕捉鼠标的位置、随鼠标移动。
2.几何绘图
Path类可以绘制曲线和复杂形状可以说是WPF绘图中最强大的工具,一来是因为它完全可以替代其他几种图形,二来它可以将直线、圆弧、贝斯二曲线等基本元素结合进来,形成更复杂的图形。路径最重要的一个属性是Data,Data的数据类型是Geometry(几何图形),我们正是使用这个属性将一些基本的线段拼接起来、形成复杂的图形。
为Data属性赋值的语法有两种:一种是标签式的标准语法,另一种是专门用户绘制几何图形的“路径标记语法”。本节我们借助标准语法认识各种基本线段,和学习绘制几何图形的路径标记语法。想要使用Path绘制图形,首先要知道几何图形数据是如何组合在Data属性中的。Path的Data属性是Geometry类,但Geometry类是个抽象类,所以我们不可能在XAML中直接使用标签。我们可以使用的是Geometry的子类。Geometry子类包括:
LineGeometry:直线几何图形。
RectangleGeometry:矩形几何图形。
EllipseGeometry:椭圆几何图形。
PathGeometry:路径几何图形。
StreamGeometry:PathGeometry的轻量级替代品,不支持Binding、动画等功能。
CombinedGeometry:由多个基本几何图形联合在一起,形成的单一几何图形。
GeometryGruop:由多个基本几何图形组成在一起,形成的几何图形组。
这篇博客介绍了XAML中的两种绘图方式:形状绘图和几何绘图。形状绘图包括Line、Rectangle、Ellipse和Polygon等,可以通过Stroke和Fill属性设置笔触和填充。几何绘图重点讲解了Path类,它能绘制复杂形状,Data属性结合Geometry子类如LineGeometry、RectangleGeometry等,实现灵活的图形构造。
306

被折叠的 条评论
为什么被折叠?



