游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7485|回复: 11

用c++做windows开发如何处理png格式的图片?

[复制链接]

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
发表于 2006-5-16 16:59:00 | 显示全部楼层 |阅读模式
使用windows api或者dx有办法实现这种功能么?而且要能通过一个UTF8字符串去构造一个Cpng对象,然后显示出来

反正我是没找到有关资料,只好来问了

如果没有办法那么要装什么库?

请问各位高手指点迷津

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2006-5-16 18:09:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

D3DXCreateTextureFromFileEx 好像可以载入 png 的图片吧。试试看 D3DXCreateTextureFromFileExW 能用不

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
 楼主| 发表于 2006-5-16 18:19:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

多谢


不过难道要把2d游戏当成3d的一个面来做么@@
另外我在Direct3D 10 的doc里面怎么索引不到D3DXCreateTextureFromFileEx……

要什么版本的dx?

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-5-16 18:48:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

www.pp28.com.ru上介绍有一种用DirectShow来读去纹理在DirectDraw使用的方法
有dx10了吗?

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
 楼主| 发表于 2006-5-17 09:11:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

那个大概是d3d的10,不是dx的10吧
我也不知道为什么是10,反正document的标题就是Direct3D 10..

找到dx8.1的doc了~

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-5-17 10:43:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

GeeGee
首先不可能用到Direct3D 10 的,因为Direct3D 10不支持XP系统,你查Direct3D 10的doc根本没有用。
D3DXCreateTextureFromFileEx;D3DXCreateTextureFromFile两个函数都可以直接调用PNG文件作为纹理使用。在dx8.0以上版本中都可以找到这个函数。

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
 楼主| 发表于 2006-5-17 10:57:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

有件事情我没有交代清楚
我要做的是一个2d的游戏
把手机游戏的客户端移植到pc上
图片资源和服务器端的东西都不能动
只能通过客户端去适应
原来的图片都是png的,以字符串的形式发给客户端
java很轻松的就把有字符串构造图片然后显示出来这个问题解决了
后来我移植到symbian c++上去,虽然麻烦点但也提供了将png转成bmp和bmp_mask的api来实现透明效果
但是在pc上始终没找到合适的解决办法

刚研究了一下d3d,发现虽然可以把2d当成3d的一个面来渲染
但是把png当纹理往上贴是不可能的,因为就算把那个面分成很多的小格子,如果图片大于各自的大小就没法正常显示了

这可怎么办呀@@

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-5-17 11:26:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

D3DXCreateTextureFromFileEx里面有参数设置控制文理尺寸适应贴图大小,但是怎么用在你的这个情况上就很难说了。
而且你的pc的客户端不把图片放在本地,而是通过数据传过来,是不是有些奢侈了。

介绍一个2D游戏论坛
http://www.dingge.com/forum/

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
 楼主| 发表于 2006-5-17 11:52:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

传过来是是要写到本地的一个RecordStore里面去,那么多图就1个文件,有修改或者新图直接替换字符串就行了
不传的话打个包也行,不过没研究过那种做法,不知道如果修改或者添加了图是不是就要重新下载整个图片包……

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2006-5-17 13:46:00 | 显示全部楼层

Re:用c++做windows开发如何处理png格式的图片?

不是本地文件就用D3DXCreateTextureFromFileInMemoryEx
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 12:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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