以下是遇到的错误:
TypeError:color必须为int或单元素元组
下面是我正在运行的代码:
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont, ImageOps
label1 = "VIKRAM"
font = ImageFont.truetype('D:/vikram/pythonProject/fonts/BalloonCraft-9YBK7.ttf', 800)
line_height = sum(font.getmetrics())
fontimage1 = Image.new('L', (font.getsize(label1)[0], line_height))
ImageDraw.Draw(fontimage1).text((0,0),str(label1),stroke_width=10, stroke_fill=(0, 0, 0), fill=255, font=font)
fontimage1 = fontimage1.rotate(90, resample=Image.NEAREST, expand=True)
orig = Image.open('F:/desktop/Kitty/PSI Hello Kitty Theme Personalized Door Poster-1.png')
orig.paste((135, 255, 135), box=(2200, 1500), mask=fontimage1)
orig.show()
ImageDraw.Draw
中的stroke_fill
参数出现错误。
我该怎么解决这个问题?
2条答案
按热度按时间blmhpbnm1#
我相信当你把'L'放在
Image.new
中时,你的图像将是灰度的,因此你不能为stroke_fill
指定RGB元组,因为你只有黑色阴影。如错误消息中所指定的,您必须使用int或单个元组。yzuktlbb2#
我有一个更好的方法来处理这个错误
任何时候,当你有
color
或stroke_fill
参数,总是使用字符串,如'红','绿','黑'对于上面的代码,可以这样做