XAML高级绘图

本文介绍了XAML的高级绘图方法,包括形状绘图(如Line、Rectangle、Ellipse、Polygon、Polyline和Path)和几何绘图。通过示例展示了如何使用Shape对象的属性,如Stroke和Fill,以及Data属性的路径标记语法来创建复杂图形。Path作为最强大的工具,可以绘制曲线和组合图形,使用Data属性的PathGeometry来定义自定义路径。
摘要由CSDN通过智能技术生成

XAML高级绘图

绘图有两种方式:形状绘图几何绘图 

网址:https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/graphics-multimedia/?

view=netframeworkdesktop-4.8

形状绘图(笔触)

形状(shape)是一个2D绘图类,位于System Windows Shape 空间内

最常用的绘图对象:

Line :直线

Rectangle :矩形

Ellipse :椭圆

Polygon :多边形

Polyline :多线型

Path :路径

图像对象共有的属性:

Stroke :说明如何绘制图形的轮廓,即所使用的画刷

StrokeThickness :说明图形轮廓的粗细度

Fill :说明如何绘制图形的内部

指定图形的坐标位置和顶点的数据属性,以与设备无关的像素来度量

  1. 直线

 <Line X1="100" Y1="200" X2="300" Y2="200"

          Stroke="Red"

          StrokeThickness="30" 

          StrokeStartLineCap="Flat"

          StrokeEndLineCap="Triangle">

    </Line>

直线是最简单的图形。使用X1、Y1两个属性可以设置它的起点坐标,X2、Y2两个属性则用来设置其终点坐标控制起点/终点坐标就可以实现平行、交错等效果Stroke(笔触)属性的数据类型是Brush(画刷),凡是Brush的派生类均可用于给这个属性赋值。因为WPF提供了多种渐变色画刷,所以画直线也可以画出渐变效果。同时,Line的一些属性还帮助我们画出虚线以及控制线段终点的形状

  1. 矩形

矩形由笔触(Stroke,即边线)和填充(Fill)构成。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填充出来的一个矩形,并让矩形捕捉鼠标的位置、随鼠标移动。

  1. 椭圆形

椭圆也是一种常见的几何图形,它的使用方法与矩形没有什么区别。

 <Ellipse Fill="Yellow" Height="100" Width="200"

     StrokeThickness="3" Stroke="Black">

</Ellipse>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值