2

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

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

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

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

提前致谢!

布鲁诺

4

5 回答 5

3

我们正在使用 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 模块中是直截了当的。

于 2011-03-02T04:44:46.143 回答
2

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

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

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

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

于 2011-03-02T05:00:22.793 回答
0

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

于 2011-03-02T04:37:58.273 回答
0

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

PIL经常作为这个问题的答案给出,但就个人而言,我也会对pythonmagick进行一个很好的、认真的研究。选择最适合您的。

于 2011-03-02T04:41:09.750 回答
0

实际上 pygtk 也有一个pango 渲染器

于 2011-03-02T04:42:06.103 回答