是否有任何好的python库用于生成和呈现图像格式的文本?

时间:2011-03-02 04:32:34

标签: python fonts render imaging

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

a)通过使用每个字母在/多个图像文件中呈现字体,并且给出单词的脚本将给出要串联在一起的图像序列或者具有所有字母组合的单个图像文件。我知道这可以手动完成,但我觉得可能有一个库来帮助解决这个问题。

b)使用某种成像库可以渲染具有多种混合效果的文本,例如渐变色,阴影,发光等。虽然我相信这个有点难度,但也许有适合这种需要的东西。

任何提供此类或类似内容的库的提示?

提前致谢!

布鲁诺

5 个答案:

答案 0 :(得分: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模块中是直截了当的。

答案 1 :(得分:2)

虽然现在我已经满足于使用网络字体和CSS,但几年前我遇到了这个问题,并根据传递的URL将一个小项目组合在一起,该项目会在文件上的模板化图像中生成文本。参数。

该项目仍然在这里公开:https://bitbucket.org/jsbueno/dynabutton - 它可以作为CGI脚本工作,但可以很容易地适应与更有效的服务器一起工作(我也建议一些安全性调整,如果你把它放在网上)。您还可以使用它通过服务器端脚本生成所有图像,并将生成的图像文件放在网上。

(它确实使用下面的PIL)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

PIL通常作为这个问题的答案,但就个人而言,我也会对pythonmagick进行一次很好的审视。选择最适合你的那个。

答案 4 :(得分:0)

实际上pygtk也有一个pango renderer