LibGDX FreeType 字体模糊

2024-01-01

我正在使用屏幕高度百分比和设置百分比动态生成字体(显然将来会乘以密度。

一些笔记。 我正在读取 OTF 文件。 使用最新版本的LibGDX(版本1.2.0)

我有以下问题: (字体有很大的断裂,看起来很模糊,但仅限于medium. Large and small看起来很锐利)

我的预设字体大小:

//Font sizes, small, med, large as a percentage of the screen.
    public static float
            FONT_SIZE_LARGE = 0.175f,
            FONT_SIZE_MEDIUM = 0.06f,
            FONT_SIZE_SMALL = 0.04f;

我的字体生成器设置

FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
        FreeTypeFontGenerator generator;
this.generator = new FreeTypeFontGenerator(Gdx.files.internal(filename));

创建实际字体:

//Create a new font and add it to available font sizes.
public BitmapFont createFont(float size, float color)
{
    this.parameter.size = Math.round(size);
    BitmapFont bitmapFont = generator.generateFont(parameter);
    bitmapFont.setColor(color);
    listOfFonts.add(new FontStorage(bitmapFont, size));
    return bitmapFont;
}

现在我已经在不同的设备上尝试了一些方法,但仍然遇到同样的问题。我想这可能是因为它不是2的幂? (字体必须是2的幂才算偶数吗?)

字体是在许多不同的屏幕分辨率上绘制的,因此制作三种特定大小的位图字体是不可能的。

有人可以帮我吗?


我发现,如果你想要终极清晰的字体,你需要设置 3 个设置。

前两个是在从文件(可以是 OTF 或 TTF)创建之前,它们是:

//Make sure you ceil for your current resolution otherwise you'll be nasty cut-offs.
this.parameter.size = (int)Math.ceil(size);
this.generator.scaleForPixelHeight((int)Math.ceil(size));

下一步是设置放大和缩小过滤器。 (如果你也想要缩放,我不是因为我画的是几乎完美的像素)。无论如何,这是代码:

this.generator = new FreeTypeFontGenerator(Gdx.files.internal(filename));
this.parameter.minFilter = Texture.TextureFilter.Nearest;
this.parameter.magFilter = Texture.TextureFilter.MipMapLinearNearest;

这将为您提供在任何分辨率下都非常漂亮的清晰字体。 GL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LibGDX FreeType 字体模糊 的相关文章

随机推荐

  • 使用 R 和 PhantomJS 进行网页抓取交互式地图 (javascript)

    我正在尝试从交互式地图中抓取数据 希望获取一个县的犯罪数据 我正在使用 R rvest 并尝试使用 phantomjs 我是网络抓取的新手 所以我不太了解所有元素如何协同工作 试图到达那里 我认为我遇到的问题是 在我运行 phantomjs
  • 如何在 matplotlib python 中自动调整文本大小?

    我在 matplotlib 中有一个绘图 我的问题是 因为当绘图窗口调整 大小时 x 轴将字符串作为值 它们重叠并且无法清晰读取 如果调整窗口大小 图例也会发生类似的情况 它不会调整大小 有这样的设置吗 不完全是 看一下the new ma
  • 循环遍历复选框列表

    我正在构建一个复选框列表
  • 如何在Android中访问字母识别器API?

    我正在创建一个手势应用程序 在手势类文档中http developer android com reference android gesture Gesture html http developer android com refere
  • targetNamespace 和 xmlns 不带前缀,有什么区别?

    在 xml 架构文档中 如果我同时具有 targetNamespace 和 xmlns没有前缀
  • 我可以通过任务管理器处理 Windows 进程的终止吗?

    我有一个 Windows C 应用程序 app exe 当应用程序关闭时 我需要执行一些特定于我的应用程序的清理任务 通过任务管理器终止此进程 app exe 时会发生什么 假设应用程序仍然响应 我可以以某种方式在 app exe 中处理这
  • 如何在不重新加载图表的情况下更新选项(ng2-chart)

    我需要更新图表中的选项 并且需要使用新选项显示图表 我希望图表不重新加载 这是我的ts ViewChild BaseChartDirective chart any lineChartOptions any responsive true
  • 如何将R代码转换为字符串?

    我想转型c 1 2 text 转换为只有一个元素的字符向量c 1 2 text 我已经尝试过这个 gt quote c 1 2 text c 1 2 text but gt class quote c 1 2 text 1 call 和这个
  • 如何在启用调试的 Android 6.0 设备上更轻松地切换 MTP?

    在安卓6 0中 MTP 不再自动工作 http developer android com about versions marshmallow android 6 0 changes html behavior usb 通过 USB 端口
  • 如何获得isolatedStorage中所有文件的平面列表?

    我需要获取给定isolatedStorage文件夹中所有文件的列表 isolatedStorage 的根目录下有一些子文件夹 这些子文件夹需要包含在列表中 通常的 System IO 类不能与isolatedStorage 一起使用 这是我
  • Keras 预测不会返回 celery 任务

    以下 Keras 函数 预测 在同步调用时有效 pred model predict x 但当从异步任务队列 Celery 中调用时它不起作用 Keras 预测函数在异步调用时不会返回任何输出 堆栈是 Django Celery Redis
  • AngularJS 承诺返回空对象

    基本上我想做的是从解析承诺的函数调用中分配一些模型值 像这样 value someFun 这是我调用此函数的服务 app factory SomeService function q return someFun function var
  • pandas 系列的循环移位

    我正在对 pandas 中的数据系列使用移位方法 文档 http pandas pydata org pandas docs stable generated pandas Series shift html 是否可以一步进行循环移位 即第
  • 如何使用Delphi2007运行非提升的进程

    我有一个类似安装程序的应用程序 我必须在 Vista 上以提升的身份运行它 但从那里我必须开始一个非提升的新流程 有什么提示如何使用 Delphi2007 做到这一点吗 我找到了一个C 的优秀示例 http www codeproject
  • 如何更改 Visual Studio Code 中的解释器?

    我在我的系统上安装了几个 Python 解释器 2 x 和 3 x 版本 我正在尝试准备我的工作环境 以便可以在用两个 Python 版本编写的代码之间轻松切换 在 Visual Studio Code VSC 中拥有尽可能灵活的设置非常重
  • 如何更改 Font Awesome 5 中图标的颜色?

    我无法使用这些代码为 Font Awesome 5 图标着色 我试过fillcss 属性用于设置颜色 但它不起作用 HTML 代码 div class container mt200 icons div class col md 3 div
  • SQL Server 中的函数与存储过程

    在 SQL 中什么时候应该使用函数而不是存储过程 反之亦然 每个的目的是什么 函数是计算值 不能执行永久的环境更改SQL Server 即 没有INSERT or UPDATE允许声明 函数可以内联使用SQL如果它返回标量值 则可以使用语句
  • Google Play 游戏应用中未显示成就

    我们根据官方谷歌开发文档为我们的 Android 游戏实现了 Google Play 成就 但似乎有些不对劲 因为我们注意到 Google Play 游戏应用程序中存在以下奇怪的行为 成就不会显示在 Google Play 游戏应用中 在
  • 计算三个加密数字的平均值

    是否可以计算三个加密整数的平均值 对加密方法没有限制 这样做的目的只是隐藏三个数字并求平均值 你似乎正在寻找的东西叫做同态加密 http en wikipedia org wiki Homomorphic encryption 一种加密方案
  • LibGDX FreeType 字体模糊

    我正在使用屏幕高度百分比和设置百分比动态生成字体 显然将来会乘以密度 一些笔记 我正在读取 OTF 文件 使用最新版本的LibGDX 版本1 2 0 我有以下问题 字体有很大的断裂 看起来很模糊 但仅限于medium Large and s