我正在使用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)
这个错误是什么意思?
我正在尝试在我的图片上绘制透明多边形。
答案 0 :(得分:1)
您可能遇到过PIL中的错误:bug report。
如果您发布了完整的追溯,我可以说得更好。如果是这个bug,那么看起来像是在ImagePallet.py中更改第62行:
self.palette = map(ord, self.palette)
会修复它(基本上用int
取代ord
。