我在使用libGDX时遇到了字体模糊的问题。我已经在这个网站和谷歌上搜索过了,并尝试了这里和这里的解决方案,但我的字体渲染质量仍然很差。
例如: 我尝试了几种方法,但总是得到与上面图片描述相同的结果。
其中一种我用来生成字体的方法是:
这两种策略都会得到相同的结果,但是最让我烦恼的是,即使我删除了“genMipMaps = true”以及这些方法中的TextureFilters,我仍然得到相同的结果。就像字体过滤器毫无用处一样。
我错过了什么吗?
谢谢!
例如: 我尝试了几种方法,但总是得到与上面图片描述相同的结果。
其中一种我用来生成字体的方法是:
public static BitmapFont generateFont(String fontPath, float size){
FileHandle fontFile = Gdx.files.internal(fontPath);
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);
FreeTypeFontGenerator.FreeTypeFontParameter params = new FreeTypeFontGenerator.FreeTypeFontParameter();
params.genMipMaps = true;
params.magFilter = TextureFilter.MipMapLinearNearest;
params.minFilter = TextureFilter.MipMapLinearNearest;
params.size = (int)Math.ceil(size);
generator.scaleForPixelHeight((int)Math.ceil(size));
BitmapFont f = generator.generateFont(params);
return f;
}
我尝试的另一个策略是在 AssetManager 中加载字体:
FileHandleResolver resolver = new InternalFileHandleResolver();
assetsManager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
assetsManager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
FreeTypeFontLoaderParameter size4Params = new FreeTypeFontLoaderParameter();
sizeParams.fontFileName = "Fonts/GOTHIC.TTF";
sizeParams.fontParameters.size = (int)Math.ceil(2*Gdx.graphics.getWidth()/9);
sizeParams.fontParameters.genMipMaps = true;
sizeParams.fontParameters.minFilter = TextureFilter.MipMapLinearNearest;
sizeParams.fontParameters.magFilter = TextureFilter.MipMapLinearNearest;
assetsManager.load("font1.ttf", BitmapFont.class, sizeParams);
这两种策略都会得到相同的结果,但是最让我烦恼的是,即使我删除了“genMipMaps = true”以及这些方法中的TextureFilters,我仍然得到相同的结果。就像字体过滤器毫无用处一样。
我错过了什么吗?
谢谢!