XNA图像显得clippy /模糊?

问题描述 投票:0回答:1

这是一个简单的问题,但我有一个非常高质量的图像精灵。但是,当我将它加载到SpriteBatch时,它看起来像这样:

enter image description here

它看起来应该是这样的:

enter image description here

这里发生了什么,我该如何解决?

这是我加载SpriteBatch的方法:

   this.landers =
            Content.Load<Texture2D>("sprites/landers");

我有一个源矩形:

this.sprite = Rectangle(0, 0, 900, 900);

然后我画它:

sb.Draw(
            texture: this.landers,
            position: this.position,
            sourceRectangle: this.sprite,
            color: Color.White,
            rotation: this.rotation,
            origin: this.relativeOrigin,
            scale: 0.06f,
            effects: SpriteEffects.None,
            layerDepth: 0f
        );
c# image xna monogame
1个回答
3
投票

在外部工具中调整图像大小,选择最佳方法(双立方应该很好,或者只是拍摄已发布图像的屏幕截图并裁剪并缩放),并将其用作源图像。

缩放总是看起来最好作为1比1的比例(更不用说保存的计算)。 6%的缩放(使用简单但快速的方法,如Monogame中实现的)将具有与将图像缩放到其大小的~16.66 ...倍(1666%)类似的“伪像”。缩放在25%和400%之间时,源/目标矩形效果最佳。超出该范围,“伪影”往往由于信息丢失或缺乏而出现。

如果需要更大(或更小)的图像,请创建一个预定义到所需范围中心的辅助纹理。字体缩放也会出现同样的问题。

从较大的图像开始缩小(在合理范围内)总是更好,来自较大图像的信息有助于消除锯齿,但是超出特征分割(在您的情况下分离线条)的缩放将导致显示的失真由于信息丢失导致的图像。

© www.soinside.com 2019 - 2024. All rights reserved.