游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7887|回复: 4

请问MFC中CImage类画png的图片,怎样才能画出透明效果?

[复制链接]

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2007-1-10 17:18:00 | 显示全部楼层 |阅读模式
我用draw函数画,结果png透明背景总是填充成白色,不知道怎么解决。   
如何使用MFC中的CImage类画png透明背景的图片,怎样才能画出透明效果呢?

21

主题

109

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2007-1-10 19:02:00 | 显示全部楼层

Re:请问MFC中CImage类画png的图片,怎样才能画出透明效果?

你怎么画的?直接用Draw方法就能正确地画出来Alpha通道。

“Draw方法综合了StretchBlt、TransparentBlt和AlphaBlend函数的功能。默认时,Draw的功能和StretchBlt相同。但当图像含有透明色或Alpha通道时,它的功能又和TransparentBlt、AlphaBlend相同。因此,在一般情况下,我们都应该尽量调用CImage:raw方法来绘制图像。”

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
 楼主| 发表于 2007-1-11 09:48:00 | 显示全部楼层

Re: 请问MFC中CImage类画png的图片,怎样才能画出透明效果?

就用的CImage:raw,但是没办法绘制纯透明图片北京,绘制出来是白色背景。
后来尝试用TransparentBlt可以绘制透明,不过是通过关键色方法实现的,并不理想,请问楼上是怎么绘制的? [em5]

21

主题

109

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2007-1-12 12:24:00 | 显示全部楼层

Re:请问MFC中CImage类画png的图片,怎样才能画出透明效果?

那我就不知道了,你可以试试AlphaBlend

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
 楼主| 发表于 2007-1-12 16:40:00 | 显示全部楼层

Re: 请问MFC中CImage类画png的图片,怎样才能画出透明效果?

这张图片是带有背景透明的,你能帮忙用DRAW绘制一下看看吗?
现在新的问题又出来了
我用CImage::BitBlt复制一块带透明区域的图片保存成新文件,结果也是显示的白色背景,这两个问题可能是一个问题,急需解决啊!
sf_2007112163938.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 05:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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