代码之家  ›  专栏  ›  技术社区  ›  Geuis

使用Imagemagick而不制作文件?

  •  4
  • Geuis  · 技术社区  · 14 年前

    我可以对Imagemagick进行子处理,它工作得很好,只是它似乎总是需要将文件写入磁盘。我想对图像创建进行子处理,并将数据返回到Python,将所有内容保存在内存中。

    我已经为ImageMagick研究了一些假设的Python包装,但是它们都已经过时了,或者根本没有文档记录。即使在上面进行广泛的搜索,也看不出是否有一种将ImageMagic与Python结合使用的实际方法。所以我认为采用子流程是最好的方法。

    2 回复  |  直到 14 年前
        1
  •  7
  •   Alex Jasmin    14 年前

    convert 如果您指定 format:- 作为输出文件。您可以使用subprocess模块在Python中捕获该输出。

    例如:

    cmd = ["convert", "test.bmp", "jpg:-"]
    output_stream = subprocess.Popen(cmd, stdout=subprocess.PIPE).stdout
    
        2
  •  0
  •   mikerobi    14 年前

    一个更简单的解决方案可能是使用python-cairo绑定。

    Pango的工作级别很低,所以简单的东西可能要复杂得多,但是渲染质量很难超越,而且它可以让您对布局进行很多细粒度的控制。