画刷和画刷类型
Brush类型是一个抽象类,所以它不能被实例化,也就是不能直接应用,但是我们可以利用它的派生类,如:HatchBrush、SolidBrush、TextureBrush、LinearGradientBrush和PathGradientBrush等。画刷类型一般在System.Drawing命名空间中,如果应用HatchBrush和GradientBrush画刷,需要在程序中引入System.Drawing.Drawing2D命名空间。
1. SolidBrush(单色画刷)
它是一种一般的画刷,通常只用一种颜色去填充GDI+图形,例如:
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
SolidBrush sdBrush1 = new SolidBrush(Color.Red);
SolidBrush sdBrush2 = new SolidBrush(Color.Green);
SolidBrush sdBrush3 = new SolidBrush(Color.Blue);
g.FillEllipse(sdBrush2, 20, 40, 60, 70);
Rectangle rect = new Rectangle(0, 0, 200, 100);
g.FillPie(sdBrush3, 0, 0, 200, 40, 0.0f, 30.0f );
PointF point1 = new PointF(50.0f, 250.0f);
PointF point2 = new PointF(100.0f, 25.0f);
PointF point3 = new PointF(150.0f, 40.0f);
PointF point4 = new PointF(250.0f, 50.0f);
PointF point5 = new PointF(300.0f, 100.0f);
PointF[] curvePoints = {point1, point2, point3, point4,point5 };
g.FillPolygon(sdBrush1, curvePoints);
}
2. HatchBrush(阴影画刷)
HatchBrush类位于System.Drawing.Drawing2D命名空间中。阴影画刷有两种颜色:前景色和背景色,以及6种阴影。前景色定义线条的颜色,背景色定各线条之间间隙的颜色。HatchBrush类有两个构造函数:
public HatchBrush(HatchStyle,Color forecolor);
public HatchBrush(HatchStyle,Color forecolor,Color backcolor);
HatchStyle枚举值指定可用于HatchBrush对象的不同图案。
HatchStyle的主要成员如下表所示。
HatchStyle主要成员
名称 |
说明 |
BackwardDiagonal |
从右上到左下的对角线的线条图案。 |
Cross |
指定交叉的水平线和垂直线。 |
DarkDownwardDiagonal |
指定从顶点 |