您好,我无法使用 SlimDX 正确渲染精灵。它像 .NET 绘图 DrawImageUnscaled 一样绘制了一些缩放。我没有使用任何转换。
在里面:
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)。注意第一张图像是如何 缩放 的