游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3927|回复: 6

TransparentBlt()和BitBlt()的问题

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-5-31 12:47:00 | 显示全部楼层 |阅读模式
VOID MyPaint(HDC hdc)
{
        SelectObject(bufdc,bmp_body);
        TransparentBlt(mdc,0,0,32,48,bufdc,0,0,32,48,RGB(43,133,133));

        BitBlt(hdc,0,0,32,48,mdc,0,0,SRCCOPY);
}

我刚开始学C++,也许对你只是个小问题。也请不要吝啬回答:)

就是想实现在后台DC用TransparentBlt组合好图片,然后前台DC用BitBlt显示的问题

为什么上面程序显示出空白

5

主题

84

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2012-6-5 00:42:00 | 显示全部楼层

Re:TransparentBlt()和BitBlt()的问题

hdc 是前台 DC 吧,mdc 是后台 DC 吧。
后台 DC 必须用 CreateCompatibleDC 来创建,并且将一张用 CreateCompatibleBitmap 创建的 bitmap 选进后台 DC 里面,才能使用后台 DC。
接下来对后台 DC 的任意渲染绘图动作才有效,仅仅是将 bitmap 选进后台 DC 里面再 BitBlt 是看不到效果的。

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2012-6-5 15:44:00 | 显示全部楼层

Re:TransparentBlt()和BitBlt()的问题

谢谢LS,困扰了我很久的问题

2

主题

79

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2012-11-3 09:39:00 | 显示全部楼层

Re:TransparentBlt()和BitBlt()的问题

good

3

主题

75

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2012-12-14 14:03:00 | 显示全部楼层

Re:TransparentBlt()和BitBlt()的问题

good

3

主题

75

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2012-12-15 17:52:11 | 显示全部楼层
GOOD 收教了

5

主题

84

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2012-12-20 16:36:35 | 显示全部楼层
不用谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-10 13:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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