主题:关于黑色背景位图的问题~~~
初学者relay
[专家分:0] 发布于 2005-07-24 15:52:00
最近我看一些游戏人物位图的设计,它上面好像没有用到屏蔽图,只有一张黑色背景图,觉得很奇怪。
有没有人能告诉我是怎么一回事呢??是不是真的能不用屏蔽图就可以实现去掉黑色的背景~
如果知道的话顺便也把实现的主要部分写下来,谢谢啊~~
回复列表 (共6个回复)
沙发
vrace [专家分:3590] 发布于 2005-07-25 11:26:00
如果用 DX 或者 GDI+ 的话可以使用 ColorKey
也就是说,黑色(或者其他指定的颜色)不画
板凳
初学者relay [专家分:0] 发布于 2005-07-25 15:24:00
请问那个函数是怎么样的呢??
gdi+ 是怎么调用的呢?
由于初次见到这个,请见谅~~~·
3 楼
vrace [专家分:3590] 发布于 2005-07-26 16:35:00
gdi+ 啊,我看看
我用 C# 给你写哈,你自己转成 C++ 的哈
GraphicsUnit gu = GraphicsUnit.Pixel;
ImageAttributes ia = new ImageAttributes();
ia.SetColorKey(Color.Black, Color.Black);
g.DrawImage(img, destRect, x, y, cx, cy, gu, ia);
// g 是 Graphics 对象
// img 是 Image 对象
4 楼
初学者relay [专家分:0] 发布于 2005-07-26 23:12:00
哈哈,虽然看不懂,但是还是很感谢你啊~~~
5 楼
qq590240 [专家分:5690] 发布于 2005-08-06 08:58:00
SetWindowLong (hwnd,GCL_HBRBACKGROUND
(LONG)CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT))
6 楼
Avenger [专家分:660] 发布于 2005-09-05 08:02:00
这个黑色的背景色是因为他们采用的是二元光栅操作
他比屏蔽色执行起来更有效率,
因为它是二进制运算
我来回复