闭合的形状(例如,矩形或椭圆)由轮廓和内部组成。轮廓用钢笔绘制,内部用画刷填充。GDI+提供了几种用于填充闭合形状内部的画刷类:SolidBrush、HatchBrush、TextureBrush和GradientBrush。所有这些类都是从Brush类继承的。
1.使用实心画刷
要填充闭合图形,需要有Graphics对象和Brush对象。Graphics对象提供 FillRectangle和FillEllipse这样的方法,Brush对象存储填充的属性,如颜色和图案。Brush对象作为参数之一被传递到填充方法。例如用纯红色填充椭圆:
效果图:
2.使用阴影画刷
用阴影画刷填充图形时,要指定前景色、背景色和阴影样式。前景色是阴影的颜色。
HatchBrush hb(HatchStyleHorizontalBrick , Color.Black, Color.Gray);
g.FillRectangle(&hb,50,150,150,120);
GDI+提供了50多种阴影样式
效果图:
3.使用纹理画刷
有了纹理画刷,就可以用位图中存储的图案来填充图形。例如,假定在磁盘中存储了一个名为MyTexture.bmp的图片,下面的代码通过使用MyTexture.bmp中的图片来填充椭圆。
效果:
4.使用渐变画刷
GDI+提供两种渐变画刷:线性和路径。可以使用线性渐变画刷来用颜色(在横向、纵向或斜向移过图形时会逐渐变化的颜色)填充图形。
下面的示例用水平渐变画刷填充一个椭圆,当从椭圆的左边缘向右边缘移动时画刷颜色会由蓝变绿。
效果图: