首页 > 编程笔记 > C#笔记 阅读:1

C# Pen和Brush绘图类的用法(附带实例)

Pen 类主要用于设置画笔,其构造函数的语法格式如下:
public Pen(Color color, float width) 

例如,创建一个 Pen 对象,使其颜色为蓝色,宽度为 2,代码如下:
Pen mypen1 = new Pen(Color.Blue, 2); // 实例化一个 Pen 类,并设置其颜色和宽度 
在上面的语法格式中设置画笔颜色时,用到了 Color 结构,该结构主要用来定义颜色,表示常用颜色的属性,开发人员可以直接使用。

Color 结构中表示颜色的属性及说明如下表所示:

属性 说明 属性 说明
Black 黑色 Gray 灰色
Blue 蓝色 Green 绿色
Cyan 青色 LightGray 浅灰色
Magenta 洋红色 Red 红色
Orange 橘黄色 White 白色
Pink 粉红色 Yellow 黄色

C# Brush类

Brush 类主要用于设置画刷,以填充几何图形,如将正方形和圆形填充为其他颜色。

Brush 类是一个抽象基类,不能进行实例化。如果要创建一个画刷对象,则需要使用从 Brush 派生出的类,如 SolidBrush、HatchBrush 等。

1) SolidBrush 类 

SolidBrush 类用于定义单色画刷,该画刷用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。语法: 
public SolidBrush(Color color) 
其中,参数 color 表示此画刷的颜色。 

示例代码: 
Brush mybs = new SolidBrush(Color.Red);   // 创建颜色为红色的画刷 

2) HatchBrush 类

HatchBrush 类提供了一种特定样式的图形,用来制作填满整个封闭区域的绘图效果。语法: 
public HatchBrush(HatchStyle hatchstyle, Color foreColor) 

使用 HatchBrush 类时,必须添加 System.Drawing.Drawing2D 命名空间。 

例如,使用 HatchBrush 类创建一个画刷对象,使用 HatchStyle 指定要绘制的图案为交叉的水平线和垂直线,代码如下:
Brush brush = new HatchBrush(HatchStyle.Cross, Color.Red);   // 创建画刷
使用上面定义的画刷绘制出的图形如下图所示:


图 1 交叉的水平线和垂直线图案

3) LinerGradientBrush类

LinerGradientBrush 类提供一种渐变色彩的特效,并填满图形的内部区域。语法如下:
public LinearGradientBrush(Point point1, Point point2, Color color1, Color color2)
语法中的参数及说明如下表所示:

表:LinerGradientBrush 类的构造函数参数及说明
参数 说明
point1 表示线形渐变的开始点
point2 表示线形渐变的结束点
color1 表示线形渐变的开始色彩
color2 表示线形渐变的结束色彩

使用 LinerGradientBrush 类时,必须添加 System.Drawing.Drawing2D 命名空间。

例如,使用 LinerGradientBrush 类创建一个渐变画刷对象,渐变颜色为从红色到蓝色,代码如下:
Point p1 = new Point(100, 100);   // 指定渐变的开始点 
Point p2 = new Point(150, 150);   // 指定渐变的结束点 
// 实例化 LinearGradientBrush 类,设置其使用红色和蓝色进行渐变 
LinearGradientBrush brush = new LinearGradientBrush(p1, p2, Color.Red, Color.Blue); 
使用上面定义的渐变画刷绘制出的图形如下图所示:


图 2 使用渐变画刷绘制的图形

相关文章