游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1482|回复: 2

请教:如何在表面间复制时滤去colorkey?

[复制链接]

4

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-3-11 18:26:00 | 显示全部楼层 |阅读模式
如题,在表面间进行StretchRect时连透明色也一起覆盖过去了,显示出来时成了黑色,有没有函数解决或者说怎样设置参数?类似于ddraw中的blt。

2

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
发表于 2008-3-12 19:52:00 | 显示全部楼层

Re:请教:如何在表面间复制时滤去colorkey?

不知道LZ所说的StretchRect是个什么函数,没用过。是不是你自己定义的啊?
不过我用过StretchBlt。

想不显示keycolor,我的做法是制作这张图片的掩码图。然后通过先用掩码图通过调用StretchBlt设置SRCAND参数贴图,过滤掉非keycolor区的背景,然后再用本图通过StretchBlt设置SRCPAINT参数贴图,将keycolor区的内容显示出来。

不知道有没更好的方法,欢迎各位拍砖。

2

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
发表于 2008-3-12 19:54:00 | 显示全部楼层

Re:请教:如何在表面间复制时滤去colorkey?

当然,自己可以写个函数用程序制作目标图的掩码图。
类似:HBITMAP CreateBitmapMask(HBITMAP hbmColour, COLORREF crKeyColor)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 09:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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