我是靠谱客的博主 高兴小蘑菇,最近开发中收集的这篇文章主要介绍Windows16种二元光栅操作(ROP2)运算方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文参考自 《Windows程序设计(第5版,珍藏版)》

显示器上所显示的线条外观受定义在设备环境中的绘图模式影响。画一条直线,其颜色由画笔的颜色和画线显示区域的颜色共同确定。

当Windows使用一个画笔绘制直线时, 它实际上是在将画笔的像素颜色和目标显示表面的像素颜色按位进行布尔运算。

对像素颜色执行一个按位布尔运算称为“光栅操作”(raster operation, ROP),简称ROP。

因为绘制一条曲线只涉及两种像素颜色(即画笔和目标),这里的布尔运算就被称为“二元光栅操作”,或者ROP2。

Windows定义了16种ROP2运算码, 在默认的设备环境中,绘图模式是R2_COPYPEN,

意思是Windows只是简单地将画笔像素复制到目标像素上,这也是我们通常所熟知的(即直接把画笔贴在背景上面如果两者同色,就什么都看不见了)


下表显示了所有16种ROP2绘图模式,表中指出了画笔颜色(P)和目标颜色(D)是如何组合成最终颜色的,

在布尔操作一栏使用了C语言的位运算显示目标像素与画笔像素的组合方式。



可以通过调用下面的函数设置绘图模式:

SetROP2(hdc, iDrawMode);

参数iDrawMode是上表中绘图模式一栏中给出的值,

可以通过调用下面的函数来获取当前绘图模式:

iDrawMode = GetROP2(hdc);


最后

以上就是高兴小蘑菇为你收集整理的Windows16种二元光栅操作(ROP2)运算方式的全部内容,希望文章能够帮你解决Windows16种二元光栅操作(ROP2)运算方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部