bitblt 绘图 阴影处理
时间:2008-07-25 22:37:06
来源:论坛整理 作者: 编辑:chinaitzhe
先做了一张 bitmap 然后用了一张mask bitmap
用bitblt SRCINVERT ,SRCAND ,SRCINVERT
处理后别的地方多没问题,
就是原本图片阴影的地方有问题
我该怎么处理带阴影的图片呢。
网友回复:没人懂吗?
网友回复:啥问题
网友回复:你把你这个过程
bitblt SRCINVERT ,SRCAND ,SRCINVERT
说具体点
还有,你说有问题,哪到底是什么问题?
网友回复:给你遍不错我文章
http://www.hcclib.net/online/Winprogramme/14.htm
网友回复:代码就是:
StretchBlt(hdc,x,y,width,height,hMemDC1,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCINVERT);
StretchBlt(hdc,x,y,width,height,hMemDC2,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCAND);
StretchBlt(hdc,x,y, width,height,hMemDC1,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCINVERT);
两个位图一个是正常的,另一个是我把亮度和对比度调到最低的黑白的mask图
但是效果很不好,和我正常的位图差很远啊
网友回复:加上这个看看
SetStretchBltMode(hdc, COLORONCOLOR);
网友回复:预先定义的名字
布尔操作
透明仿真中的用途
SRCCOPY
src
直接将源拷贝到目的
SRCAND
src AND dest
将目标文件中对应于源文件黑色区域的部分变黑,将对应于白色区域的部分留着不动
SRCINVERT
src XOR dest
将源插入到目标。二次使用时,将目标恢复到它原来的状态。在某种条件下可以代替SRCPAINT 操作
SRCPAINT
src OR dest
将源文件中的非白色区域刷到目标文件中。源中的黑色区域不转换到目标中。
SetBkColor(hdcSrc, rgbTransparent);BitBlt(hdcMask, 0, 0, dx, dy, hdcSrc, x0, y0, SRCCOPY);
SetBkColor(hdcSrc, RGB(0,0,0));
// 1s --> black (0x000000)SetTextColor(hdcSrc, RGB(255,255,255));
// 0s --> white (0xFFFFFF)BitBlt(hdcSrc, x0, y0, dx, dy, hdcMask, 0, 0, SRCAND);
关键字:bitblt,绘图,阴影,处理,
上一篇:图像的渐显和渐隐
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面