这是一个简单的问题,但是我有一个相当高质量的图像精灵。但是,当我将其加载到SpriteBatch
中时,它看起来像这样:
何时应该看起来像这样:
这是怎么回事,我应该如何解决?
这是我加载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
);
答案 0 :(得分:3)
在外部工具中调整图像的大小,选择最佳方法(最好是双三次,或者只是对发布的图像进行屏幕截图并对其进行裁剪和缩放),然后将其用作源图像。
缩放比例始终以1:1的比例显示最佳(更不用说保存的计算了)。 6%的缩放比例(使用在Monogame中实施的简单但快速方法)将具有与将图片缩放至其大小的〜16.66 ...倍(1666%)相似的“伪像”。当缩放比例在25%和400%之间时,源/目标矩形效果最佳。超出该范围的“伪像”往往是由于信息丢失或缺少信息而出现的。
如果需要更大(或更小)的图像,请创建一个预缩放到所需范围中心的辅助纹理。字体缩放也会发生相同的问题。
始终最好从较大的图像开始放大并缩小图像(在合理的范围内),来自较大图像的信息有助于抗锯齿,但缩放到超出特征分割范围(在您的情况下分隔线)将导致图像失真由于信息丢失而导致的图像显示。