本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础、C#图像处理基础以及简单的图像处理技术。
图7.7 SolidBrush应用
2.HatchBrush(阴影画刷)
HatchBrush类位于System.Drawing.Drawing2D命名空间中。阴影画刷有两种颜色:前景色和背景色,以及6种阴影。前景色定义线条的颜色,背景色定各线条之间间隙的颜色。HatchBrush类有两个构造函数:
public HatchBrush(HatchStyle,Color forecolor);
public HatchBrush(HatchStyle,Color forecolor,Color backcolor); HatchStyle枚举值指定可用于HatchBrush对象的不同图案。 HatchStyle的主要成员如表7.7所示。
表7.7 HatchStyle主要成员
本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础、C#图像处理基础以及简单的图像处理技术。
些直线不是锯齿消除的。 DarkVertical DashedDownwardDiagonal DashedHorizontal DashedUpwardDiagonal DashedVertical DiagonalBrick DiagonalCross Divot ForwardDiagonal Horizontal HorizontalBrick LargeGrid LightHorizontal LightVertical Max Min NarrowHorizontal NarrowVertical OutlinedDiamond Percent05 Percent90 Plaid Shingle SmallCheckerBoard SmallConfetti SolidDiamond Sphere Trellis Vertical 指定垂直线的两边夹角比 Vertical 小 50%并且宽度 是其两倍。 指定虚线对角线,这些对角线从顶点到底点向右倾 斜。 指定虚线水平线。 指定虚线对角线,这些对角线从顶点到底点向左倾 斜。 指定虚线垂直线。 指定具有分层砖块外观的阴影,它从顶点到底点向 左倾斜。 交叉对角线的图案。 指定具有草皮层外观的阴影。 从左上到右下的对角线的线条图案。 水平线的图案。 指定具有水平分层砖块外观的阴影。 指定阴影样式 Cross。 指定水平线,其两边夹角比 Horizontal 小 50%。 指定垂直线的两边夹角比 Vertical 小 50%。 指定阴影样式 SolidDiamond。 指定阴影样式 Horizontal。 指定水平线的两边夹角比阴影样式 Horizontal 小 75%(或者比 LightHorizontal 小 25%) 。 指定垂直线的两边夹角比阴影样式 Vertical 小 75% (或者比 LightVertica 小 25%) 。 指定互相交叉的正向对角线和反向对角线,但
这些 对角线不是锯齿消除的。 指定 5%阴影。前景色与背景色的比例为 5:100。 指定 90%阴影。前景色与背景色的比例为 90:100。 指定具有格子花呢材料外观的阴影。 指定带有对角分层鹅卵石外观的阴影,它从顶点到 底点向右倾斜。 指定带有棋盘外观的阴影。 指定带有五彩纸屑外观的阴影。 指定具有对角放置的棋盘外观的阴影。 指定具有球体彼此相邻放置的外观的阴影。 指定具有格架外观的阴影。 垂直线的图案。
本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础、C#图像处理基础以及简单的图像处理技术。
下面代码显示了HatchBrush画刷的使用。
protected override void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
HatchBrush hBrush1 = new HatchBrush(HatchStyle.DiagonalCross, Color.Chocolate, Color.Red);
HatchBrush hBrush2 = new HatchBrush(HatchStyle.DashedHorizontal, Color.Green, Color.Black);
HatchBrush hBrush3 = new HatchBrush(HatchStyle.Weave, Color.BlueViolet, Color.Blue);
g.FillEllipse(hBrush1, 20, 80, 60, 20);
Rectangle rect = new Rectangle(0, 0, 200, 100); g.FillPie(hBrush3, 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(hBrush2, curvePoints); }
运行结果如图7.8所示。