设为首页 加入收藏

TOP

图形基础(四十六)
2010-12-30 21:10:52 来源: 作者: 【 】 浏览:40237
Tags:图形 基础

Windows用装置内容中选择的目前画笔来画图形的边界框,边界框还使用目前背景方式、背景色彩和绘图方式,这跟Windows画线时一样。关於直线的一切也适用於这些图形的边界框。

图形以目前装置内容中选择的画刷来填入。内定情况下,使用现有物件,这意味著图形内部将画为白色。Windows定义六种现有画刷:WHITE_BRUSH、LTGRAY_BRUSH、GRAY_BRUSH、DKGRAY_BRUSH、BLACK_BRUSH和NULL_BRUSH (也叫HOLLOW_BRUSH)。您可以将任何一种现有画刷选入您的装置内容中,就和您选择一种画笔一样。Windbws将HBRUSH定义为画刷的代号,所以可以先定义一个画刷代号变数:

HBRUSH hBrush ;

您可以通过呼叫GetStockObject来取得GRAY_BRUSH的代号:

hBrush = GetStockObject (GRAY_BRUSH) ;

您可以呼叫SelectObject将它选进装置内容:

SelectObject (hdc, hBrush) ;

现在,如果您要画上表中的任一个图形,则其内部将为灰色。

如果您想画一个没有边界框的图形,可以将NULL_PEN选进装置内容:

SelectObject (hdc, GetStockObject (NULL_PEN)) ;

如果您想画出图形的边界框,但不填入内部,则将NULL_BRUSH选进装置内容:

SelectObject (hdc
的位元运算,并再次使用上表描述的16种ROP2代码。R2_NOT绘图方式总是翻转目标色彩来决定线的颜色,而不管画笔的色彩是什么。例如,在青色目标上的线会变成紫色。R2_NOT方式总是产生可见的画笔,除非画笔在中等灰度的背景上绘图。我将在第七章的BLOKOUT程式中展示R2_NOT绘图方式的使用。

绘制填入区域
 

现在再更进一步,从画线到画图形。Windows中七个用来画带边缘的填入图形的函式列於表5-3中。

表5-3
函式图形
Rectangle 直角矩形
Ellipse 椭圆
RoundRect 圆角矩形
Chord 椭圆周上的弧,两端以弦连接
Pie 椭圆上的圆形图
Polygon 多边形
PolyPolygon 多个多边形
首页 上一页 43 44 45 46 47 48 49 下一页 尾页 46/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇键盘 下一篇输出文字

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: