游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1189|回复: 2

请问,用 DirectX9 3D 如何显示图像的任意部分呢?

[复制链接]

3

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2006-3-15 20:51:00 | 显示全部楼层 |阅读模式
在用 DirectX9 3D 将图像进行放大或缩小后,
如何显示图像的任意部分呢?
因为图像大小可能大于显示窗口,而只想显示应该在
窗口那部分的图像,而不是全部。
(窗口外的其他部分的显示将用 ScrollBar 进行控制)
(是用 TextureLoader.FromFile()装入的图像文件)
能告诉我如何做才能显示图像的任意指定的部分吗?
C# (或者VC++ 也可以)。
如果是用设定纹理坐标来实现的话,
如何来设定纹理坐标呢?

我是用 C# 做的,一部分代码如下.

sprite sprite;
Texture texture;
Rectangle drawRect;
...
...
Matrix scale = new Matrix();
scale.Scale( 2.0f, 2.0f, 0.0f);

this.sprite.Transform = scale;
this.sprite.Draw( texture,
                  Rectangle.Empty,
                  new Vector3(0.0f, 0.0f, 0.0f),
                  new Vector3((float)drawRect.X / scale.M11, (float)drawRect.Y / scale.M22, 0.0f),
                  Color.FromArgb(255, 255, 255, 255)
);

我是初学者,望多多指教。
先谢了

13

主题

594

帖子

595

积分

高级会员

Rank: 4

积分
595
发表于 2006-3-15 21:04:00 | 显示全部楼层

Re:请问,用 DirectX9 3D 如何显示图像的任意部分呢?

Rectangle.Empty

这个就是显示图象的范围

3

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
 楼主| 发表于 2006-3-15 21:46:00 | 显示全部楼层

已解决,太谢谢了.

已解决,太谢谢了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 22:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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