【问题标题】:Font rendering in XNA is getting low qualityXNA 中的字体渲染质量越来越低
【发布时间】:2013-11-13 12:55:51
【问题描述】:

我目前正在使用 XNA 4.0 尝试渲染我得到的字体。字体是这样渲染的:

spriteBatch.DrawString(this.font, this.text, new Vector2(10, 10), this.color);

但是我的一些信件变得模糊和低质量(见image

我尝试更改 GraphicDevice 的 SamplerState,但这似乎没有任何改善。

-更新- 在测试了其中一个想法后,XNA 会压缩文本,在这种情况下会失去质量,我尝试创建自己的字体纹理,而不是使用 .spritefont 生成字体纹理。然后将其发送到内容加载器,我设法得到的结果只是稍微大一点的文本,但具有相同的工件。 见Image

我现在想知道这个问题是否仍然与压缩问题有关,或者是否还有另一个问题导致字体在程序中的质量低于在程序外使用它。 我目前加载字体的方式是使用

font= ContentManager.Load<SpriteFont>(FontPath);

【问题讨论】:

  • 您是否尝试过使用 rot13s 答案制作纹理字体的说明?我做到了,而且我的字体很清晰。您提供的第二张图片有点小,对我来说看起来像原始字体。
  • 我确实试过了,我有一个小的改进,但它仍然不清晰,所以我目前正在查看我的字体是否有任何问题
  • 即使您不使用任何缩放,这可能会有所帮助吗? gamedev.stackexchange.com/questions/6820/…
  • @Kai Hartmann 更新了第二张图片,使新结果更加清晰

标签: text xna rendering blurry


【解决方案1】:

这是因为 XNA 对 spritefonts 使用压缩。可能的解决方法是:

  • 使用Nuclex framework,其中包括替代字体导入器;
  • 按照Shawn Hargreaves's blog 的说明制作自己的字体纹理;
  • 在您的 SpriteFont 定义中,将生成的字体大小加倍,然后将其绘制成原来大小的一半。

【讨论】:

  • 现在 Shawn Hargreaves 的链接软件已经不见了(至少,我找不到它),是否有第二个选项的现代替代品?
猜你喜欢
  • 1970-01-01
  • 2020-02-20
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2012-07-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多