|
|

楼主 |
发表于 2006-8-31 11:42:00
|
显示全部楼层
Re: Re:宣三国之曹操与吕布Demo下载,欢迎批评指正!
一杯倒: Re:宣三国之曹操与吕布Demo下载,欢迎批评指正!
小丹你好
你游戏太棒了
我想请教一个问题
你的精灵标记色为粉红色
你是用什么方法染色的
我也在学习dx7的ddraw
教教我好吗?谢谢
你的支持是我继续写下去的动力,谢谢
由于比较忙,所以现在才回复
这个问题本来我是想用调色版,不过调色板太慢或许是方法没有掌握
这是新乞丐王子的方法
---------------------------------------------------------------------------------------------
我没研究过在DX7中使用调色板,不过图像处理我到是很在行!
你使用的资源图片又都是BMP那就方便多了!
你可以用替换BMP文件中的这个结构
Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbUnused As Byte
End Type
来使图片的颜色改变!
这个结构实际上就是调色板!
当然你可能还需要用这么两个结构
BITMAPFILEHEADER
BITMAPINFOHEADER
这样你就可以得到任何颜色搭配的图片了!
不过需要注意的就是你的调色版和这个BMP文件的BITCOUNT要一致
具体代码:从BMP文件里面用GET挨个结构取
Dim 000 As BITMAPFILEHEADER
Dim 111 As BITMAPINFOHEADER
Dim Pl() As RGBQUAD
Open Filename For Binary Access Read As #1
Get #1, , 000
Get #1, , 111
If 111.biBitCount <> 8 Then MsgBox "这张图片不是256色!!": Close #1: Exit Sub
Get #1, , Pl
Close #1
写回到BMP中的时候注意字节多1少1别错了!
或者你直接把RGBQUAD结构写成*.PAL文件
Open CD.Filename For Binary As #1
Put #1, , Pal'<---这是一个RGBQUAD类型变量
Close #1
哦对了,如果你要装BMP中的数据,那还需要用到这个结构
Public Type RGBTRIBLE
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
End Type
啊,就这样你看看吧!
---------------------------------------------------------------------------------------------
我的方法是改变colorkey 二次bit
你需要将准备若干张纯色的图片,这些图片就是用来变换人物颜色的图片1
以及将原始图片2需要透明的颜色ps为vbblack,需要替换的颜色ps为vbyellow
首先你将图片2bit到图片1上,colorkey=vbyellow
然后把图片1bit到主缓冲区,colorkey=vbblack
就ok了
如果要变很多种颜色,可以重复以上步骤
不过这种方法速度较慢!
|
|