0

我正在使用 PIL==1.1.7

我正在尝试用这样的颜色填充多边形:

def save(self):
    try:
        image = Map.objects.all()[0].image
        im = Image.open(image.path)
        draw = ImageDraw.Draw(im)
        draw.polygon(((685,255),(714,361),(698,389),(610,411),(575,285)), fill=(255,255,255))

        del draw 
        format = 'png'
        im.save(image.path, format)
    except Exception, e:
        print e
        pass

但我得到了例外:

invalid literal for int() with base 10: '\x8f'

它是这样工作的:

draw.polygon(((685,255),(714,361),(698,389),(610,411),(575,285)), fill=128)

这个错误是什么意思?

我正在尝试在我的图像上绘制透明多边形。

4

1 回答 1

1

您可能在 PIL 中遇到了一个错误:错误报告

如果您发布了完整的回溯,我可以说得更好。如果是这个错误,那么它看起来像在 ImagePallet.py 中更改第 62 行:

self.palette = map(ord, self.palette)

会修复它(基本上替换intord那条线上)。

于 2013-05-29T22:04:04.680 回答