鱼C论坛

 找回密码
 立即注册
查看: 2783|回复: 0

[学习笔记] 《Windows SDK》021 窗口绘画:画笔2

[复制链接]
发表于 2017-7-24 17:44:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一 核心知识点
* 虚线点线等间隙的颜色默认为白色

* 设置间隙颜色
间隙颜色由背景模式和背景颜色共同决定
背景模式分为透明与不透明,默认为不透明,可以通过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鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 02:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表