python - 我可以使用 Python 访问 ImageMagick API 吗?

标签 python imagemagick image-manipulation ctypes

我需要使用 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/

相关文章:

image - 使用 rmagick 像在 Photoshop 中一样为图像着色

imagemagick - 如何转换 base64 图像?

.net - 为什么用 System.Drawing 创建的 JPEG 图像比原始位图大?

python Bottle集成测试

python - Python如何实现str[::-1]?

python - 访问格式类似于字典 Python 的列表中的信息

php - 使用 ImageMagick 指定字体系列的字体

c# - 缩放、旋转和裁剪图像

node.js - 在 Node.js 中操作图像

python - 从包继承加载类