对于我的下一个项目,我计划创建带有文本和图形的图像。我对 ruby 很满意,但对学习 python 很感兴趣。我认为这可能是个好时机,因为 PIL 看起来像是一个很棒的库。但是,我不知道它与 ruby 所提供的(例如 RMagick 和 ruby-gd)相比如何。据我所知,PIL 有更好的文档(ruby-gd 甚至有主页吗?)和更多功能。只是想听听一些意见来帮助我做出决定。
谢谢。
文斯
对于我的下一个项目,我计划创建带有文本和图形的图像。我对 ruby 很满意,但对学习 python 很感兴趣。我认为这可能是个好时机,因为 PIL 看起来像是一个很棒的库。但是,我不知道它与 ruby 所提供的(例如 RMagick 和 ruby-gd)相比如何。据我所知,PIL 有更好的文档(ruby-gd 甚至有主页吗?)和更多功能。只是想听听一些意见来帮助我做出决定。
谢谢。
文斯
PIL 是一个很好的库,使用它。ImageMagic(RMagick 包装的)是一个非常繁重的库,如果可能的话应该避免使用。它非常适合对图像进行本地处理,例如批量照片编辑器,但对于 Web 的常见图像处理任务来说,处理器效率太低了。
编辑:针对这个问题,PIL 支持绘制矢量形状。它可以绘制多边形、曲线、线条、填充和文本。我在一个项目中使用它在网络上动态生成 PNG 图像的圆形 alpha 角。它本质上具有 GDI+(在 Windows 中)或 GTK(在 Linux 上的 Gnome 中)的大部分绘图功能。
PIL 已经存在了很长时间并且非常稳定,因此它可能是您第一个 Python 项目的不错选择。PIL 文档包含一个有用的教程,它可以让您快速上手。
ImageMagic 是一个巨大的库,可以在阳光下做所有事情,但是许多人报告 RMagick 变体存在内存问题,我个人发现它对我的需求来说太过分了。
正如你所说,当涉及到英文文档时,ruby-gd 在地面上有点薄……但 GD 在后期平台上安装是一件轻而易举的事,并且有一个小包装器,其中包含一些名为gruby的有用示例,值得一看。(如果您追求 alpha 透明度,请确保安装最新的 GD 库)
对于整体社区博客的帮助,PIL 的方式。