PIL多边形填充问题

时间:2013-05-29 21:26:25

标签: python python-imaging-library

我正在使用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)

这个错误是什么意思?

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

1 个答案:

答案 0 :(得分:1)

您可能遇到过PIL中的错误:bug report

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

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

会修复它(基本上用int取代ord