游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2935|回复: 5

关于directdraw9 中透明色的问题!求助!!

[复制链接]

4

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2004-3-19 17:58:00 | 显示全部楼层 |阅读模式
因为现在从事的就是ddraw研究,所以还是有个问题希望各位帮忙。
我想让surface中的某个颜色变成透明的(例如Black),我的代码如下:
'-----------------------------------------------------------------------------------
dim ck as new colorkey

ck.ColorSpaceHighvalue = System.Drawing.Color.Black.ToArgb
ck.ColorSpaceLowvalue = System.Drawing.Color.Black.ToArgb

'backface是我定义的后备画面
BackFace.SetColorKey(SourceDraw, BColor)

'mainface是我定义的主画面,pointsize是我定义的Drawing.Rectangle
MainFace.Draw(BackFace, PointSize, SourceColorKey)

'----------------------------------------------------------------------------------------
结果画出来的还是有背景色的图片,为什么去不掉黑色背景呢?我觉得还是我的使用方法有误,请各位多多指教!谢谢!

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-3-19 18:05:00 | 显示全部楼层

Re:关于directdraw9 中透明色的问题!求助!!

DirectDraw好像从DX7以后就没有更新了,你可能指的是DirectDraw7吧,如果你正确设置了COLORKEY的话,检查一下在BLT的时候,是否使用了与COLORKEY相关的标志,如果没有,当然BLT出来的图就仍然有COLORKEY在上面。

4

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2004-3-19 18:13:00 | 显示全部楼层

Re:关于directdraw9 中透明色的问题!求助!!

呵呵,不好意思我是刚学ddraw的,能否解释一下BLT是什么意思。
确实是DX9,我是模仿DX7代码做的,可是好像不对.
谢谢各位多帮忙!

11

主题

33

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2004-3-19 18:19:00 | 显示全部楼层

Re: 关于directdraw9 中透明色的问题!求助!!

eric_bai: 关于directdraw9 中透明色的问题!求助!!

因为现在从事的就是ddraw研究,所以还是有个问题希望各位帮忙。
我想让surface中的某个颜色变成透明的(例如...

楼主和我遇到同样的问题。
我也想知道,为什么我的贴子没人回答?

4

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2004-3-19 22:23:00 | 显示全部楼层

Re:关于directdraw9 中透明色的问题!求助!!

koread兄弟,要是有解决的办法了,也告诉我一声啊.

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-3-19 22:47:00 | 显示全部楼层

Re:关于directdraw9 中透明色的问题!求助!!

BLT指的是Bit Block Transfer(位块传送),即把一个内存块从一个地址复制到另一个地址。
BLT时我指的是调用IDirectDrawSurface7接口的BLT方法,第四个参数中可以指定DDBLT_KEYSRC标志就可以进行带COLORKEY的BLT。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 10:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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