|
e、RoundRect、Ellipse、Chord、Pie、Polygon和PolyPolygon图形的内部是用选进装置内容的目前画刷(也称为「图样」)来填入的。画刷是一个8×8的点阵图,它水平和垂直地重复使用来填入内部区域。
当Windows用混色的方法来显示多於可从显示器上得到的色彩时,实际上是将画刷用於色彩。在单色系统上,Windows能够使用黑色和白色图素的混色建立64种不同的灰色,更精确地说,Windows能够建立64种不同的单色画刷。对於纯黑色,8×8点阵图中的所有位元均为0。第一种灰色有一位元为1,第二种灰色有两位元为1,以此类推,直到8×8点阵图中所有位元均为1,这就是白色。在16色或256色显示系统上,混色也是点阵图,并且可以得到更多的色彩。
Windows还有五个函式,可以让您建立逻辑画刷,然後就可使用SelectObject将画刷选进装置内容。与逻辑画笔一样,逻辑画刷也是GDI物件。您建立的所有画刷都必须被删除,但是当它还在装置内容中时不能将其删除。
下面是建立逻辑画刷的第一个函式:
hBrush = CreateSolidBrush (crColor) ;
函式中的Solid并不是指画刷为纯色。在将画刷选入装置内容中时,Windows建立一个混色色的点阵图,并为画刷使用该点阵图。
您还可以使用由水平、垂直或者倾斜的线组成的「影线标记(hatch
marks)」来建立画刷,这种风格的画刷对著色条形图的内部和在绘图机上进行绘图最有用。建立影线画刷的函式为:
hBrush = CreateHatchBrush (iHatchStyle, crColor) ;
iHatchStyle参数描述影线标记的外观。图5-18显示了六种可用的影线标记风格。

CreateHatchBrush中的crColor参数是影线的色彩。在将画刷选进装置内容时,Windows将这种色彩转换为与之最相近的纯色。影线之间的区域根据装置内容中定义的背景方式和背景色来著色。如果背景方式为OPAQUE,则用背景色(它也被转换为纯色)来填入线之间的空间。在 |