将.ttf文件转换为.png

时间:2014-03-26 17:10:36

标签: libgdx sprite

有没有办法将TTF转换为PNG文件?或者在LIBGDX框架中用TTF文件创建Sprite的任何其他方法?有没有可用的应用程序?

4 个答案:

答案 0 :(得分:3)

运行前

LibGDX在名为Hiero的gdx-tools项目中有一个内置工具。只需将该项目作为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文档here

在运行期间

Hiero的一个缺点是位图字体不能很好地扩展,所以它们在不同的屏幕分辨率上看起来很糟糕。

查看this answer相关问题:

  

一种解决方案是使用FreeType扩展到libgdx,如here所述。这允许您从.ttf字体动态生成位图字体。通常,一旦知道目标分辨率,就会在启动时执行此操作。

我还没有亲自使用它,但它似乎值得一试。它看起来也很简单 - 链接答案中的示例代码长度为5行。

答案 1 :(得分:1)

最后,我得到了同样问题的解决方案(TTF到PNG),我也遇到过。

按照以下步骤

<强> 1。将TTF转换为SVG

使用TTF to SVG转换工具将自定义或下载的TTF文件转换为SVG文件

<强> 2。将SVG转换为PNG / PDF / TTF:

转到IcoMoon,在左上角,会出现导入图标按钮,点击并上传转换后的 SVG文件。

在底部栏中,会出现“生成SVG&amp;更多”选项,如下图所示,点击它

enter image description here

接下来,点击“下载”选项旁边的设置齿轮图标以覆盖尺寸,输出格式(PDF,PNG等),然后关闭设置< / p>

enter image description here

现在点击下载将输出转换为单个zip文件!!!

答案 2 :(得分:0)

ttf是真实字体。它不是图片,而是矢量字符集。您无法使用工具将其转换为图片。

如果要查看/操作ttf文件,可以使用ttf编辑工具执行此操作,例如fontforge(http://fontforge.sourceforge.net)。

答案 3 :(得分:0)

这可能是一个古老的问题,但是我发现以下批处理文件可用于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并确保它在您的环境路径中即可。在您的安装中包括“旧版”命令。