【问题标题】:Is there any good python library for generating and rendering text in image format?是否有任何好的 python 库来生成和呈现图像格式的文本?
【发布时间】:2011-07-07 00:17:09
【问题描述】:

我正在开发一个类似于 CMS 的应用程序,用户应该能够按照自己的方式创建菜单。理想情况下,每个菜单对象都不是带有背景的文本,而是文本的图像。我通过以下两种方式中的任何一种来设想:

a) 通过在一个/几个图像文件中渲染一个字体,每个字母和一个给定单词的脚本会给我一个图像序列以串在一起,或者一个图像文件包含所有字母的组合。我知道这可以手动完成,但我觉得可能有一个库可以帮助解决这个问题。

b) 使用某种图像库,该库能够渲染具有多种混合效果的文本,例如渐变色、阴影、发光等。虽然我相信这有点困难,但也许有适合这种需求的东西。

关于执行此操作或类似操作的任何库的任何提示?

提前致谢!

布鲁诺

【问题讨论】:

    标签: python fonts render imaging


    【解决方案1】:

    虽然现在我决定使用网络字体和 CSS,但几年前我遇到了这个问题,并根据传递的 URL 整理了一个小项目,该项目将在文件的模板图像中生成文本参数。

    该项目仍在此处公开:https://bitbucket.org/jsbueno/dynabutton——它可以作为 CGI 脚本工作,但可以很容易地适应更高效的服务器(如果你也推荐一些安全调整)正在把它放在网上)。您还可以使用它通过服务器端脚本生成所有图像,然后将生成的图像文件放到网上。

    (它确实在下面使用了 PIL)

    啊,是的,它可以做阴影,并使用适当的参数发光,可以使用任何服务器安装的字体,并将使用图像模板提供背景,因此您可以手动应用任何效果。 (不过,包含的模板非常业余)

    【讨论】:

    • 那是你在那里制作的甜蜜 PIL 包装纸,正是我想要的。我调整了您的代码,使其与我的应用程序集成,而无需 CGI 服务器无缝。竖起两个大拇指!
    【解决方案2】:

    我们正在使用 Imagemagick。

    http://www.imagemagick.org/Usage/text/#attributes
    

    这将呈现一个带有文本的简单按钮:

    convert -background white -fill dodgerblue  -font Candice -strokewidth 2  -stroke blue   -undercolor lightblue  -size 165x70 -gravity center label:Anthony     label_color.gif
    

    将其包装到 Python 模块中很简单。

    【讨论】:

    • 非常简洁和强大。我会选择 jsbueno 的答案,因为它更简单,不需要 3rd 方程序,但如果我需要更详细的内容,我会认真考虑 ImageMagick!
    【解决方案3】:

    其实pygtk也有pango renderer

    【讨论】:

      【解决方案4】:

      嗯,使用现代 CSS 技术,客户端字体不匹配的问题如今已不再是问题。仍然需要文本到图像的工具。

      PIL 经常作为这个问题的答案给出,但就个人而言,我也会仔细研究pythonmagick。选择最适合您的。

      【讨论】:

        【解决方案5】:

        查看pycairo,cairo 渲染包的绑定。它可以渲染文本和图形。

        【讨论】:

          猜你喜欢
          • 2013-03-08
          • 2011-06-14
          • 1970-01-01
          • 2011-09-11
          • 1970-01-01
          • 2010-11-12
          • 1970-01-01
          • 2011-03-21
          • 1970-01-01
          相关资源
          最近更新 更多