您的位置:首页 > 其它

第26周-window程序设计(基础篇)-第5章(图形基础)-填入空隙和填入区域

2016-09-26 23:02 204 查看
1、填入空隙和填入区域:

/*
填入空隙:点和虚线间的空隙
内定背景模式为OPAQUE,Windows使用背景色来填入空隙,内定的背景色为白色。
*/
SetBkColor(hdc,crColor);

将背景模式转换为TRANSPARENT,可以阻止Windows填入空隙
SetBkMode(hdc,TRANSPARENT);

/*绘图方式:图素间的位布尔运算叫做「位映像运算」,即ROP。而只涉及两种图素(画笔和目标),因此这种布尔运算又称为「二元位映像运算」,简记为「ROP2」*/

ROP2的16种绘图模式:
R2_BLACK //不管画笔和北京色为何种色彩,总画成黑色
R2_NOTMERGEPEN
R2_MASKNOTPEN
R2_NOTCOPYPEN // 画笔为黑色,则画成白色;画笔为白色,则画成黑色。
R2_MASKPENNOT
R2_NOT //总是翻转目标色彩来决定线的颜色
R2_XORPEN
R2_NOTMASKPEN
R2_MASKPEN
R2_NOTXORPEN
R2_NOP //保持不变
R2_MERGENOTPEN
R2_COPYPEN(内定)
R2_MERGEPENNOT
R2_MERGEPEN
R2_WHITE //总画成白色

/*在设备内容中设定新的绘图模式*/
SetROP2(hdc,iDrawMode);
iDrawMode = GetROP2(hdc);

/*Windows的七个带边缘的填入图形函数*/
函数图形
Rectangle 直角矩形
Ellipse 椭圆
RoundRect 圆角矩形
Chord 椭圆周上的弧,两端以弦连接
Pie 椭圆上的饼图
Polygon 多边形
PolyPolygon 多个多边形

/*Windows定义六种现有画刷:*/
WHITE_BRUSH
LTGRAY_BRUSH
GRAY_BRUSH
DKGRAY_BRUSH
BLACK_BRUSH
NULL_BRUSH (也叫HOLLOW_BRUSH)

HBRUSH = hBrush;//画刷句柄变量
hBrush = GetStockObject(GRAY_BRUSH); //取得句柄
SelectObject(hdc,hBrush);//将画刷选进设备内容

/*画一个没有边界框的图形*/
SelectObject(hdc,GetStockObject(NULL_PEN));

/*画出图形的边界框,但不填入内部*/
SelectObject(hdc,GetStockObject(NULL_BRUSH));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐