设备描述表中定义的绘图方式也影响显示器上所画线的外观。
当 Windows 使用画笔来画线时,它实际上执行画笔像素与目标位置处原来像素之间的某种按位布尔运算。像素间的按位布尔运算叫做“光栅运算”,简记为“ROP”。由于画一条直线只涉及两种像素(画笔和目标),因此这种运算又称为“二元光栅运算”,简记为“ROP2”。
Windows 定义了16种 ROP2 代码,表示 Windows 组合画笔像素和目标像素的方式。在默认设备描述表中,绘图方式定义为 R2_COPYPEN,这意味着 Windows 只是将画笔像素复制到目标像素。
可以通过以下调用在设备描述表中设置新的绘图模式:
// iDrawMode 参数是预定义的绘图模式的值之一
SetROP2(hdc,iDrawMode);
可以用 GetROP2 函数来获取设备描述表中当前绘图方式:
iDrawMode = GetROP2(hdc);