游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3579|回复: 8

求教:为何用ID3DXSprite::Draw画出的图像不正确

[复制链接]

7

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
发表于 2004-9-11 18:18:00 | 显示全部楼层 |阅读模式
我用的是Dx8
由于需要3D环境,所以没有使用Direct Draw 7的接口
代码如下:
D3DXCreateTextureFromFile(pD3DDevice,lpFileName,&m_pCurImage);
……
m_pDxSprite->Draw(m_pCurImage,NULL,
        NULL,NULL,0,&m_CurPos,0xffffffff);

但是画出来的图像分别延x、y轴被拉长了,而且比例也不一定。如果原始图像比较小的时候,x的拉伸比y严重(图像比较“扁”),而图像大的时候,y的拉伸比x严重(图像比较“瘦”)。

真是被搞晕了,请大家帮帮忙。

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-9-11 18:21:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

你首先要把你的贴图转换成正方的

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
发表于 2004-9-11 18:23:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

正确说是2的幂,比如256*256,512*512,而且最好是正方的

7

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2004-9-11 18:23:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

??什么意思,有例子吗?

7

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2004-9-11 18:26:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

果然……谢谢了,可是为什么会这样的

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
发表于 2004-9-11 18:26:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

应为显卡只支持这个

7

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2004-9-11 18:31:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

那我显示800*600的岂不是要1024*1024的图片?还有其他办法吗?

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
发表于 2004-9-11 18:38:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

看过魔兽的图片吗?好像他们是把一张大图分开来了……
既然暴雪都这么做了,你就……

25

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2004-9-11 23:04:00 | 显示全部楼层

Re:求教:为何用ID3DXSprite::Draw画出的图像不正确

这个函数会自动拉伸图片的长宽,禁止这个功能就行了。
d9中设为d3dx_filter_none就可以了.d8中也应该差不多吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-18 08:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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