使用Ruby或Python创建静态图形文件(png,gif,jpg)

Cha*_*tin 10 ruby python graphics png

我想基于用户输入动态创建图形图像,然后将该图像呈现为PNG文件(如果需要,可以是jpg或gif,但首选PNG).

这实际上是一个占星术应用程序; 我想做的是在PNG中生成图表以供显示.

Python或Ruby很好; 实际上,可用的库可能决定了我使用的语言.

更新

这是一个示例图像:
星座图示例图

Rob*_*let 11

也许矢量格式更适合您的需求,但如果没有您想要获得的具体示例,很难说.

例如,如果图像完全相同,您可以使用Inkscape创建SVG基本图像,然后从Python或Ruby编辑它(通过编辑文本或使用XML库),最后将其导出到PNG.


更新: 看到示例图像后,我认为SVG将是最方便的选择.SVG图像是一个XML文件,基本上是"从这里画一个圆圈到这里,在那里写字符串'13º52'等等.你可以在Inkscape中绘制一个独特的基础图表​​,并让你的程序只添加线条和符号每个案例.最后,您导出到PNG.

优点是:您更容易绘制,图像完全可扩展,您可以通过编辑属性("使所有行更宽","将所有文本更改为Arial","将背景涂成蓝色")来更改样式,你可以导出任何格式而不会失去质量,我认为它更具有可持续性.

  • 矢量格式使绘图更容易,您可以将输出为PNG的最终图像传送给用户. (2认同)

kqu*_*inn 9

在Python中,您通常使用PIL,即Python Image Library.我从来没有将PIL用于任何超出最简单任务的事情,所以我不能说它在实践中的表现如何.

我将开始深入研究PIL,看看它的文档,特别是绘图模块文档.


Gis*_*shu 3

当我处于你的处境时,我发现Gruff很容易使用。 无耻博客插件