当前位置: 首页 > 知识库问答 >
问题:

LibGDX FreeType字体模糊

宗波涛
2023-03-14

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

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

我有以下的问题:(字体中大的缺口看起来很模糊,但只有在中号上。大的和小的看起来很锐利)

//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的幂才能是偶数吗?)

有人能帮我一下吗?

共有1个答案

吉俊德
2023-03-14

我明白了,如果你想要最终清晰的字体,有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.

 类似资料:
  • 字体 待更新

  • ​字体是一整套具有相同设计特征的字形,系一个或多个字型的一个或多个尺寸的集合。在计算机中,字体也是包含一套字形和字符的电子数据文件,我们可以使用它们来改变界面中的文字显示效果。 LCUI 使用字体数据库和渲染引擎实现对字体的支持,前者用于加载和记录字体文件并缓存常用的文字位图数据,后者则用于根据字符码和选定的字型从已加载的字体文件中选取对应字形并栅格化成位图。

  • font(string $fontName): self string $fontName $format = new \Vtiful\Kernel\Format($fileHandle); $fontStyle = $format->font('FontName')->toResource();

  • 以前 CSS3 的版本,网页设计师不得不使用用户计算机上已经安装的字体。 使用 CSS3,网页设计师可以使用他/她喜欢的任何字体。 当你发现您要使用的字体文件时,只需简单的将字体文件包含在网站中,它会自动下载给需要的用户。 您所选择的字体在新的 CSS3 版本有关于@font-face规则描述。 您"自己的"的字体是在 CSS3 @font-face 规则中定义的。 注意:Internet Exp

  • 关于字体 字体是由一组具有相同粗细、宽度和样式的字符(字母、数字和符号)构成的完整集合,如 10 点 Adobe Garamond 粗体。 字形(通常称为文字系列或字体系列)是由具有相同整体外观的字体构成的集合,它们是专为一起使用而设计的,如 Adobe Garamond。 字体样式是字体系列中单个字体的变体。通常,字体系列的罗马体或普通(实际名称因字体系列而异)是基本字体,其中可能包括一些文字样

  • freetype 渲染引擎 作为 Xorg 服务器的一个模块,freetype 的功能包括读取 Truetype 字体信息,如大小、分辨率、编码等,并以之为依据渲染字体 - freetype2.x 相对于 freetype1.x 增加了抗锯齿等功能 - ( /etc/X11/xorg.conf 的 Module 字段中,可以选择字体渲染模块 ) freetype 只负责渲染字体。而查找字体,则可以