【问题标题】:Convert .ttf file to .png将 .ttf 文件转换为 .png
【发布时间】:2014-05-05 06:50:26
【问题描述】:

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

【问题讨论】:

    标签: libgdx sprite


    【解决方案1】:

    ttf 是一种真正的字体。它不是图片,而是矢量字符集。不能简单地用工具把它转成图片。

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

    【讨论】:

      【解决方案2】:

      运行前

      LibGDX 在gdx-toolsproject 中有一个名为 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 文档here

      运行时

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

      查看this answer 的相关问题:

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

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

      【讨论】:

        【解决方案3】:

        我终于找到了我也遇到过的相同问题(TTF 到 PNG)的解决方案。

        按照以下步骤,

        1.将 TTF 转换为 SVG

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

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

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

        在底部栏中,将有一个选项“Generate SVG & More”,如下图所示,点击它

        接下来,单击“下载”选项附近的设置齿轮图标以覆盖大小、输出格式(PDF、PNG 等),然后关闭设置

        现在点击下载将输出保存到单个 zip 文件中!!!

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2011-03-16
            • 1970-01-01
            • 2012-12-22
            • 2019-08-29
            • 2017-05-05
            • 2016-11-06
            • 1970-01-01
            • 2011-08-08
            • 2018-01-10
            相关资源
            最近更新 更多