2

我不确定我做错了什么,但这真的很奇怪。不确定我是否应该向 wand 的 Git 存储库提交新问题。

编辑:我正在尝试绘制一个矩形。

考虑以下代码:

from wand.drawing import Drawing
from wand.color import Color
from wand.image import Image
def drawer():
    square = Drawing()
    square.fill_color = Color('#fff')
    square.stroke_width = 4
    square.stroke_color = Color('red')
    square.rectangle(left=100, top=100, width=100, height=100)
    return square

im = Image(width=500, height=500)
sq = drawer()
sq.draw(im)
im.save(filename='test1.png')

这输出:

奇怪的图片1

根据我的尝试和错误,如果square.stroke_width小于或等于 2,则不会发生这种情况。

我不确定是魔杖的错误还是我做错了什么。

4

3 回答 3

1

看起来您有孤立的绘图实例。Wand 利用 python 的with ... as ... :关键字来管理上下文和资源。例子...

from wand.drawing import Drawing
from wand.color import Color
from wand.image import Image

class Drawer(Drawing):
    def __enter__(self):
        super(Drawing, self).__enter__()
        self.fill_color = Color('#fff')
        self.stroke_width = 4
        self.stroke_color = Color('red')
        self.rectangle(left=100, top=100, width=100, height=100)
        return self

with Image(width=500, height=500) as im:
    with Drawer() as sq:
        sq(im)
    im.save(filename='/tmp/test1.png')

长方形

于 2015-09-04T19:38:45.063 回答
0

根据http://docs.wand-py.org/en/0.4.1/guide/draw.html它应该可以正常工作。如果您转到页面底部,它会显示如何绘制多边形。与您的代码相比,它应该可以正常工作。我不知道出了什么问题,但我很确定你的代码没问题。

于 2015-09-04T16:06:07.567 回答
0

我已经想通了。ubuntu 上的libmagickwand-devAPT 存储库已过时。

$ python -m wand.version -v
Wand 0.4.2
ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
$ apt-cache show  libmagickwand-dev | grep Version
Version: 8:6.7.7.10-6ubuntu3

所以我更新了它。按照此处提供的说明,我添加了

export MAGICK_HOME=/usr/local/lib/到我的环境变量。它奏效了。

$ python -m wand.version -v
Wand 0.4.1
ImageMagick 6.9.2-0 Q16 x86_64 2015-09-08 http://www.imagemagick.org

在此处输入图像描述

于 2015-09-08T03:52:54.437 回答