python – 使用Graphicsmagick或pgmagick填充洪水

使用Graphicsmagick命令行或python的pgmagick包装器使用泛洪填充的好方法是什么?

背景

到目前为止,这就是我所拥有的,但它说签名不匹配:

码:

from pgmagick import Image, ColorRGB

img = Image('C:\\test.png')
cRGB = ColorRGB(256.0, 256.0, 256.0)
geo = Geometry(1,1)
img.floodFillColor(geo, cRGB, cRGB)

错误:

  File "C:/Dropbox/COC/automate/coc_automate/python/__init__.py", line 62, in take_main_screen_shot
    img.floodFillColor(geo, cRGB, cRGB)
Boost.Python.ArgumentError: Python argument types in
    Image.floodFillColor(Image, Geometry, ColorRGB, ColorRGB)
did not match C++ signature:
    floodFillColor(class Magick::Image {lvalue}, class Magick::Geometry, class Magick::Color, class Magick::Color)
    floodFillColor(class Magick::Image {lvalue}, class Magick::Geometry, class Magick::Color)

额外

此外,如果你知道一种更好的方法,我可以从Python应用程序或Windows命令行操作图形,我都是耳朵.我开始觉得我可能正在使用错误的工具来处理文档的状态.

最佳答案 我建议看看
Python Imaging Library(PIL)

例如draw a gray cross over an image

import Image, ImageDraw

im = Image.open("lena.pgm")

draw = ImageDraw.Draw(im)
draw.line((0, 0) + im.size, fill=128)
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw 

# write to stdout
im.save(sys.stdout, "PNG")
点赞