Libgdx 将.ttf文件转换为.png
有没有办法将TTF转换成PNG文件?或者使用任何其他方法在LIBGDX框架中使用TTF文件创建Sprite?有任何应用程序可供使用吗?ttf是一种真正的字体。它不是一张图片,而是一个矢量字符集。你不能简单地用工具把它转换成图片Libgdx 将.ttf文件转换为.png,libgdx,sprite,Libgdx,Sprite,有没有办法将TTF转换成PNG文件?或者使用任何其他方法在LIBGDX框架中使用TTF文件创建Sprite?有任何应用程序可供使用吗?ttf是一种真正的字体。它不是一张图片,而是一个矢量字符集。你不能简单地用工具把它转换成图片 如果要查看/操作ttf文件,可以使用ttf编辑工具,例如fontforge()。ttf是一种真正的字体。它不是一张图片,而是一个矢量字符集。你不能简单地用工具把它转换成图片 如果要查看/操作ttf文件,可以在运行之前使用ttf编辑工具,例如fontforge()。 Lib
如果要查看/操作ttf文件,可以使用ttf编辑工具,例如fontforge()。ttf是一种真正的字体。它不是一张图片,而是一个矢量字符集。你不能简单地用工具把它转换成图片 如果要查看/操作ttf文件,可以在运行之前使用ttf编辑工具,例如fontforge()。 LibGDX在
gdxtools
项目中有一个名为Hiero的内置工具。只需将该项目作为java应用程序运行,当被问及要运行哪个类时,选择那个类。它允许您获取一个.ttf文件,并将其渲染为所需的字符(以像素为单位),此外,它还生成一个文件,其中包含有关每个字符在纹理上的位置的信息。在程序中,初始化和使用非常简单:
BitmapFont font = new BitmapFont(Gdx.files.internal("data/font/font.fnt"));
...
font.draw(spriteBatch, "Text to output", coordX, coordY);
(font.fnt是包含纹理位置和其他相关信息的文件,它也指默认情况下在同一文件夹中创建的.png。)
您可以查看BitmapFont
文档
运行时
Hiero的一个缺点是位图字体不能很好地缩放,所以它们在不同的屏幕分辨率下看起来很糟糕
请看一个相关问题:
一种解决方案是使用libgdx的FreeType扩展,如下所述。这允许您从.ttf字体动态生成位图字体。通常,一旦知道目标分辨率,您会在启动时执行此操作
我个人没有用过,但它似乎值得一看。它看起来也很简单-链接答案中的示例代码有5行长。在运行之前
LibGDX在gdxtools
项目中有一个名为Hiero的内置工具。只需将该项目作为java应用程序运行,当被问及要运行哪个类时,选择那个类。它允许您获取一个.ttf文件,并将其渲染为所需的字符(以像素为单位),此外,它还生成一个文件,其中包含有关每个字符在纹理上的位置的信息。在程序中,初始化和使用非常简单:
BitmapFont font = new BitmapFont(Gdx.files.internal("data/font/font.fnt"));
...
font.draw(spriteBatch, "Text to output", coordX, coordY);
(font.fnt是包含纹理位置和其他相关信息的文件,它也指默认情况下在同一文件夹中创建的.png。)
您可以查看BitmapFont
文档
运行时
Hiero的一个缺点是位图字体不能很好地缩放,所以它们在不同的屏幕分辨率下看起来很糟糕
请看一个相关问题:
一种解决方案是使用libgdx的FreeType扩展,如下所述。这允许您从.ttf字体动态生成位图字体。通常,一旦知道目标分辨率,您会在启动时执行此操作
我个人没有用过,但它似乎值得一看。它看起来也很简单-链接答案中的示例代码有5行长。最后,我得到了我也面临的相同问题(TTF到PNG)的解决方案 按照以下步骤操作 1。将TTF转换为SVG 使用转换工具将自定义或下载的TTF文件转换为SVG文件 2。将SVG转换为PNG/PDF/TTF: 转到,在左上角,将有按钮来导入图标,单击并上传转换后的SVG文件 在底部栏中,将有一个选项“生成SVG&More”,如下图所示,单击它 接下来,单击“下载”选项附近的设置档图标以覆盖大小、输出格式(PDF、PNG等),然后关闭设置
现在点击下载,将输出文件放入一个zip文件中 最后,我也遇到了同样的问题(TTF到PNG)的解决方案 按照以下步骤操作 1。将TTF转换为SVG 使用转换工具将自定义或下载的TTF文件转换为SVG文件 2。将SVG转换为PNG/PDF/TTF: 转到,在左上角,将有按钮来导入图标,单击并上传转换后的SVG文件 在底部栏中,将有一个选项“生成SVG&More”,如下图所示,单击它 接下来,单击“下载”选项附近的设置档图标以覆盖大小、输出格式(PDF、PNG等),然后关闭设置
现在点击下载,将输出文件放入一个zip文件中 这可能是个老问题,但我发现以下批处理文件适用于ImageMagick 7:
@ECHO OFF
set f=wingding.TTF
set ps=800
set bg=white
set ext=png
set s=600x600
set alpha=A B C D E F G H I J K L M N O P Q R S T U V W Z Y Z
set num=0 1 2 3 4 5 6 7 8 9
For %%X in (%alpha% %num%) do (
convert -font %f% -pointsize %ps% -size %s% -background %bg% label:%%X
%%X.%ext%)
pause
exit
注意:此转换仅适用于有限的字体字符选择。它适用于所有大写字母。只需安装ImageMagick并确保它位于您的环境路径中。在安装中包括“遗留”命令。这可能是一个老问题,但我发现以下批处理文件适用于ImageMagick 7:
@ECHO OFF
set f=wingding.TTF
set ps=800
set bg=white
set ext=png
set s=600x600
set alpha=A B C D E F G H I J K L M N O P Q R S T U V W Z Y Z
set num=0 1 2 3 4 5 6 7 8 9
For %%X in (%alpha% %num%) do (
convert -font %f% -pointsize %ps% -size %s% -background %bg% label:%%X
%%X.%ext%)
pause
exit
注意:此转换仅适用于有限的字体字符选择。它适用于所有大写字母。只需安装ImageMagick并确保它位于您的环境路径中。在安装中包括“遗留”命令。Python3
我试着描述一下,但你可以简化工作,按照你的需要
要求:PIL(枕头)
#pip安装枕
从PIL导入图像、ImageFont、ImageDraw
#使用truetype字体(.ttf)
#来自fonts.google.com的字体文件(https://fonts.google.com/specimen/Courier+Prime(查询=快递)
font\u path=“font/Courier Prime/”
font\u name=“CourierTime