java - libgdx-freetype 如何以正确的字母间距缩放字体?

标签 java android libgdx freetype

以前版本的 FreeType 有一个方法 setScale() 现在我可以使用以下方法更改比例:

bitmapFont.getData().SetScale();

但是我遇到了字母间距问题:

/image/35PGQ.png

我无法使用大小参数,因为我的视口(viewport)很小并且无法更改它。

最佳答案

我建议不要缩放BitmapFont。您的位图字体渲染结果可能是由于 free-type Font 生成的 BitmapFont 的大幅缩小所致。发电机。

您可以使用bitmapFont.getData().setScale(float x, float y);但缩放应该是合理的范围,而不是太高或太低。

您可以使用 FreeTypeFontGenerator 创建具有所需尺寸的 BitmapFont,这样就无需放大/缩小。

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/timesBold.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();

更改参数中的字体大小并初始化BitmapFont:

fontParameter.size = 25; // by default this value is 16
BitmapFont font = fontGenerator.generateFont(fontParameter);
<小时/>

想要使用 font.setScale(); 而不是 font.getData().setScale(),reactoring 是从 1.5.6 版本开始的,所以你需要使用该版本的旧版本。我有一个链接 1.5.5 version , 下载它。压缩包含 gdx-setup.jar 文件,从该 .jar 创建项目,将项目导入到 IDE 中并运行。

关于java - libgdx-freetype 如何以正确的字母间距缩放字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027524/

相关文章:

java - Spring @Controller 和 RequestMapping 根据给定参数调用不同的服务

android - ViewPager在包含相机的滑动上显示黑屏

java - 如何修复 libGdx 中的游戏序列化无限循环?

java - javacast如何工作,是改变对象的状态还是创建新的对象?

java - 为什么 OperatingSystemMxBean 的访问限制为 jre6/lib/rt.jar?

java - 尝试使用 openGL 创建纹理时缓冲区大小不足

java - 将 ListView 日期与当前日期进行比较

android - 动态改变渐变中心

java - 如何在libgdx java中使用渐变颜色绘制曲线

android - OpenGL : Create a "transparent window-like object"