AlG*_*nde 1 fonts font-size freetype scale libgdx
我正在使用 Freetype 字体来显示文本。但字体总是看起来:#1不可读(通过减小字体大小):
generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 5;
font = generator.generateFont(parameter); // font size 12 pixels
font.setColor(Color.BLACK);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
generator.dispose();
Run Code Online (Sandbox Code Playgroud)
generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 30;
font = generator.generateFont(parameter); // font size 12 pixels
font.setColor(Color.BLACK);
font.getData().setScale(0.15F, 0.15F);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
generator.dispose();
Run Code Online (Sandbox Code Playgroud)
这些是我使用的相机/视口设置:
camera = new OrthographicCamera(1280, 720);
batch = new SpriteBatch();
viewport = new StretchViewport(100,100,camera);
viewport.apply();
Run Code Online (Sandbox Code Playgroud)
我认为这是因为视口太小,但我真的不想改变它。有谁知道如何解决这一问题?
在您的#2 版本之后,调用setUseIntegerPositions(false)该字体。默认情况下,它将字符位置四舍五入到最接近的整数,这在很小的视口中看起来很糟糕。您可能想要为其提供 mip 贴图,并使用 MipMapLinearLinear 作为最小过滤器来补偿未与屏幕像素对齐的字符(以减少模糊度)。
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |