我需要使用 ImageMagick因为 PIL 没有我正在寻找的大量图像功能。但是,我想使用 Python。
python 绑定(bind) (PythonMagick) 自 2009 年以来一直没有更新。我唯一能找到的是 os.system
调用以使用命令行界面,但这似乎很笨重。
有什么方法可以直接使用 ctypes
和某种转换来访问 API?
作为最后的手段,是否有任何其他库拥有大量图像编辑工具,例如我看过的 ImageMagick?
最佳答案
我建议使用 Wand (解释如下)。
我正在寻找与 ImageMagick 库的正确绑定(bind),这将:
- 工作错误/无问题
- 定期维护和更新
- 允许漂亮的目标 Python
但确实 python API(绑定(bind))有太多不同的(大部分已停产)版本。阅读 Benjamin Schweizer 的精彩历史概述后,一切都变得清晰了(另见他的 github wiki):
- GraphicsMagick
- PythonMagick - 第一个实现
- PythonMagickWand/Achim Domma - 第一个 Wand - CDLL 实现
- PythonMagickWand/伊恩·史蒂文斯
- MagickFoo - 包含在 python-magickwand 中
- Wand/Hong Minhee - 最新项目
现在 Wand 只是 ImageMagick 的(简化的)C API “.. API 是 C 编程语言和 ImageMagick 图像处理库之间的推荐接口(interface)。与 MagickCore C API 不同,MagickWand 仅使用少数不透明类型。访问器可用于设置或获取重要的魔杖属性。” (See project homepage)
所以它已经是一个更易于维护的简化界面了。
关于python - 我可以使用 Python 访问 ImageMagick API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895278/