你好我有麻烦呈现正确的精灵带SlimDX.它绘制小比例缩只是喜欢。净绘图DrawImageUnscaled。我不使用任何变化。

Init:

Vector2 position;
Sprite sprite;
Size size;
Texture texture;
sprite = new Sprite(Device);
string filename = /*some bitmap*/;
using (Image b = Bitmap.FromFile(filename))
  size = b.Size;

position = new Vector2(550, 230);
texture = Texture.FromFile(Device, filename);

渲染:

Device.Clear(ClearFlags.Target, Color.Black, 1.0f, 0);
Device.BeginScene();
sprite.Begin(SpriteFlags.None);
sprite.Draw(texture, new Vector3(size.Width / 2, size.Height / 2, 0), new Vector3(position, 0), Color.White);
sprite.End();
Device.EndScene();

编辑:如果你不知道如何想象的错误呈现,这里是我得到的呈现,并参考(忽略那个白色的,它只是透明PNG)。注意到第一影像是缩放 错误的 正确的

有帮助吗?

解决方案

可能是你的图形卡问题绘图NPOT纹理(非幂)。如果是这样,增加的纹理的大小,以下锅。这解决了许多的绘图问题对我的(使用SlimDX太)。

顺便说一句我也用SlimDX2D渲染,但是没有用的精灵,但是,绘制所有的东西作为"元"和采用一个顶点缓冲区。也许这也可能是一个选项

其他提示

添加阿尔法混合的初始化时sprite.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top