《Windows SDK》021 窗口绘画:画笔2
一 核心知识点* 虚线点线等间隙的颜色默认为白色
* 设置间隙颜色
间隙颜色由背景模式和背景颜色共同决定
背景模式分为透明与不透明,默认为不透明,可以通过SetBkMode进行设置
背景颜色指的是画笔对象本身的背景对应的颜色,可以通过SetBkColor进行设置
* 绘图模式(混合模式)
绘制曲线的机制:将画笔的像素颜色和目标区域的表面颜色按位进行布尔运算,该机制简称“光栅操作”,即ROP2(Raster Operation),后面的2表示两种颜色的操作
可以通过SetROP2函数设置该机制的实现模式
二 新API函数
* SetBkColor(hdc, RGB(0, 255, 0))
该函数用来设置指定类型对象的背景颜色
第一个参数: 指定环境句柄
第二个参数: 设置的颜色
如果利用SetBkMode函数将模式改为透明,则将使该函数失效
* SetBkMode(hdc, OPAQUE)
该函数用来设置类型对象的背景模式,该类型可以是字符,阴影画刷和非实线画笔
第一个参数: 指定环境句柄
第二个参数: 背景模式,可以是以下两种——
1 OPAQUE 不透明模式
2 TRANSPARENT 透明模式
* GetBkMode(hdc)
该函数返回当前环境句柄对应的背景模式
* SetROP2(hdc, R2_NOT)
该函数用来设置指定环境句柄的混合模式
第一个参数: 指定的环境句柄
第二个参数: 混合模式,典型的有——
1 R2_COPYPEN 默认情况,显示的颜色是当前画笔颜色
2 R2_BLACK / R2_WHITE 显示颜色总是 黑/白 色
3 R2_NOT 显示的颜色总和屏幕颜色相反
该函数不支持矢量设备
* GetROP2(hdc)
该函数用来获取指定环境中的混合模式,返回值为SetROP2函数第二个参数的一种
页:
[1]