C# 使用画笔

2022-07-07 18:58:14   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《C# 使用画笔》,欢迎阅读!
C#,画笔,使用
C# 使用画笔

在绘制图形时,需要使用Pen类指定绘制的图形外轮廓线宽度和颜色。然后,才能根据画笔的样式进行绘制操作。

定义画笔的样式,就是将Pen类实例化并初始化的过程。Pen类有4个构造函数,分别用于初始化一个指定颜色的画笔或指定笔刷的画笔,详细介绍如下:

Pen PenName = new Pen(BrushName); Pen PenName = new Pen(ColorName);

Pen PenName = new Pen(BrushName , PenWidth); Pen PenName = new Pen(ColorName , PenWidth);

在上面的代码中,PenName关键字表示画笔的名称;BrushName关键字表示画笔笔刷对象的名称;ColorName关键字表示画笔笔刷颜色的名称;PenWidth关键字表示画笔的宽度。

画笔的笔刷BrushNameBrush抽象基类的子类,可以为5种子类,如表9-7所示。

9-7 Pen类可使用的笔刷类型

笔刷名 TextureBrush SolidBrush PathGradientBrush LinearGradientBrush HatchBrush

说明

自文件获取的填充 单色实线笔刷

指定路径的彩色渐变填

双色渐变和多色渐变 包含阴影、前景色和背景色的样式

System.Drawing.Drawing2D.LinearGradientBrush System.Drawing.Drawing2D.HatchBrush .NET Framework System.Drawing.TextureBrush System.Drawing.SolidBrush

System.Drawing.Drawing2D.PathGradientBrush

在初始化Pen对象之后,即可通过Pen类的各种属性进一步定义画笔的样式,如表9-8所示。

9-8 Pen类包含的属性

属性 Alignment Brush Color DashStyle DashCap DashOffset

作用

获取或定义画笔的对齐方式

获取或定义画笔的笔刷类型,其值为Brush抽象基类的子类 获取或定义画笔的颜色 获取或定义画笔绘制的虚线样式

获取或定义画笔绘制的虚线终点样式,这些短划线构成整个画笔的虚线 获取或设置直线的起点到短划线图案起始处的距离

DashPattern 获取或设置自定义的短划线和空白区域的数组。


LineJoin MiterLimit PenType StartCap EndCap Width

获取或设置通过此画笔绘制的两条连续直线的端点的联接样式。 获取或设置斜接角上联接宽度的限制。 获取用此画笔绘制的直线的样式。

获取或设置在通过此画笔绘制的直线起点使用的虚线样式。 获取或设置要在通过此画笔绘制的直线终点使用的虚线样式。 获取或设置此画笔的宽度

下面通过一个实例,来说明怎么绘制曲线。该实例中,首先声明一个Graphics对象;然后,使用for循环多次绘制直线完成正弦曲线的绘制。操作步骤如下所示:

1)打开Microsoft Visual Studio 2010。在菜单栏中,执行【文件】|【新建项目】命令,打开【新建项目】对话框。

2)在【新建项目】窗口中,选择“Windows窗体应用程序”并在名称栏中输入项目的名称为“PenTest。然后,单击【确定】按钮进入可视化编程窗口。

3【属性窗口】中设置各个控件的NameText属性并设置Form1Text属性值为“画笔应用。然后,在From窗体的【事件窗口】中,为窗体添加Paint()事件

4)双击Windows窗体,打开Form1.cs文件。为Paint()事件添加内容,代码如下所示。

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

using System.Windows.Forms; namespace PenTest {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

private void Form1_Paint(object sender, PaintEventArgs e) {

Graphics g = e.Graphics;

Pen pen1 = new Pen(Color.Red, 6);//默认为实线笔


g.DrawLine(pen1, 10, 10, 100, 10);//画实线,图中左边第1条线 pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;//虚线笔 g.DrawLine(pen1, 10, 20, 100, 20);//画虚线,图中左边第2条线

pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;//点,短线风格的线

g.DrawLine(pen1, 10, 30, 100, 30);//图中左边第3条线 //双点,短线风格的线

pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot; g.DrawLine(pen1, 10, 40, 100, 40);//图中左边第4条线

pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;//由点组成的线 g.DrawLine(pen1, 10, 50, 100, 50);//图中左边第5条线

pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;//实线笔 pen1.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;//后箭头 g.DrawLine(pen1, 150, 10, 250, 10);//图中右边第1条线

pen1.StartCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;//前箭头 g.DrawLine(pen1, 150, 22, 250, 22);//图中右边第2条线

pen1.EndCap = System.Drawing.Drawing2D.LineCap.RoundAnchor; g.DrawLine(pen1, 150, 34, 250, 34);//图中右边第3条线

pen1.EndCap = System.Drawing.Drawing2D.LineCap.SquareAnchor; g.DrawLine(pen1, 150, 46, 250, 46);//图中右边第4条线 pen1.EndCap = System.Drawing.Drawing2D.LineCap.Triangle; g.DrawLine(pen1, 150, 58, 250, 58);//图中右边第5条线

pen1.EndCap = System.Drawing.Drawing2D.LineCap.DiamondAnchor; //图中右边第6条线

g.DrawLine(pen1, 150, 70, 250, 70); } } }

5)按下【Ctrl+S】键保存源代码,然后执行菜单栏中的【调试】命令或者按下【Ctrl+F5】键查看运行结果,如图9-14所示。



9-14 执行结果


本文来源:https://www.wddqxz.cn/d31f7f7310661ed9ad51f372.html

相关推荐