游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1732|回复: 1

关于地图编辑器的高级问题

[复制链接]

8

主题

16

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2004-6-21 03:17:00 | 显示全部楼层 |阅读模式
请问如何在gdi中设置透明色.我的情况稍微有点复杂,就是我是先通过LoadImage得到句柄,然后通过句柄写屏幕的,还通过一个缓冲dc写入,以防止闪烁.(先LoadBitmap一个空白矩形作为缓冲)
为此我不知道如何得到bitmap的指针,以及在什么位置调入TransparentBlt(CImage类,以设置好)函数.部分代码如下
                MemDC.CreateCompatibleDC(pDC);
                // ?? TransparentBlt(pDC->m_hDC, 0, 0, 32, 32, MemDC.m_hDC, 0, 0, 32, 32, RGB(0,0,0x00));
                MemDC.SelectObject(m_pMapResouce);       

                MiniDC.CreateCompatibleDC(pDC);
                MiniDC.SelectObject(m_pMap);

                BuffDC.CreateCompatibleDC(pDC);
                //?? TransparentBlt(pDC->m_hDC, 0, 0, 32, 32, BuffDC.m_hDC, 0, 0, 32, 32, RGB(255,0,255));
                BuffDC.SelectObject(&m_Buff);//初始化各个DC

我试过,没有用,另外
TransparentBlt的一个例子是
CBitmap FootballBMP;
FootballBMP.LoadBitmap(IDB_FOOTBALLBMP);
CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);
CBitmap *pOldImageBMP = ImageDC.SelectObject(&FootballBMP);
TransparentBlt(pDC->m_hDC, 0, 0, 218, 199, ImageDC.m_hDC, 0, 0, 218, 199, RGB(0,0,0xff));
ImageDC.SelectObject(pOldImageBMP);

欢迎高手指教,

31

主题

245

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
QQ
发表于 2004-6-25 16:48:00 | 显示全部楼层

Re:关于地图编辑器的高级问题

就是这样的啥,运行优什么问题么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-2 13:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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