游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7816|回复: 23

请教一个关于对图片的处理的问题

[复制链接]

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2008-1-9 22:26:00 | 显示全部楼层 |阅读模式
用 D3DXCreateTextureFromFileEx()函数可以对bmp,tga,jpg这样的图片进行加载.但是我发现很多游戏公司制作的游戏的资源文件中很少有包括以上格式的图片出现,他们经常使用自己的格式.我也怀疑过他们是把bmp,tga,jpg这样的图片更改后缀名后放在资源文件夹中,但是我用photoshop对他们直接打开却发现无法识别.

那么问题就出在这里了,如果不用bmp,tga,jpg格式的图片怎么对二维图片进行加载,因为我只知道在DX9中好象只有D3DXCreateTextureFromFileEx()函数可以加载二维图片.如果他们不用D3DXCreateTextureFromFileEx()而是运用自己的函数来加载那么微软编写D3DXCreateTextureFromFileEx()函数不是没有意义了吗?

还是那些游戏公司还是用bmp,tga,jpg做的图片,而用了某种手段对图片进行了处理.如果是这样的我就想请教一下这样的处理方法是怎样的?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2008-1-9 23:19:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

加密.压缩

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2008-1-10 09:45:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

我也知道他们进行了加密,但是我不知道他们具体是怎么做的.
告诉我一个大概的流程也好,这样我也可以有一个学习方向.

如果是加密的话,我可以想到的就是在图片的某个位置以二进制的形式写入一些东西,在用D3DXCreateTextureFromFileEx()读取之前先把那些二进制码去掉就行了.但是在去掉那些二进制码后被解密的图片不是又要被写入硬盘了吗,因为要用D3DXCreateTextureFromFileEx()读取图片.

7

主题

41

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2008-1-10 11:48:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

为什么一定要用DirectX的扩展库里的函数加载图片?

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2008-1-10 13:37:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

如果不用库文件而用自己写的函数工作量不是很大吗?

再说自己的函数有没有D3DXCreateTextureFromFileEx()强大还是不确定的,毕竟微软都那么多年了.

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2008-1-10 15:37:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

为什么一定要用FromFile呢?不是还有FromFileInMemory吗?读取到内存后直接创建就可以了,不需要再次写入磁盘的

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2008-1-10 16:41:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

图片格式都哦啦 jpg .png dds dds用的最多

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2008-1-10 16:47:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

自己createtexture,里面的像素爱填啥就填啥,文件格式只是存文件的而已

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2008-1-10 17:21:00 | 显示全部楼层

Re:请教一个关于对图片的处理的问题

如果用D3DXCreateTextureFromFileEx()处理,那就是说要把图片先从硬盘加载到内存中,这个过程是如何实现的?

再问一下D3DXCreateTextureFromFileEx()的第二个参数"LPCVOID pSrcData"是一个图形源内存地址吧,它是如何获取的?

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2008-1-10 17:37:00 | 显示全部楼层

Re: Re:请教一个关于对图片的处理的问题

是啊,用D3DXCreateTextureFromFileInMemory就好了
把打包的图片释放到内存里,再用D3DXCreateTextureFromFileInMemory加载,不用先写到硬盘上
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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