我正在尝试使用python中的某些文本创建一个图像,如:
import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
font = ImageFont.truetype("/usr/share/fonts/dejavu/DejaVuSans.ttf",25)
img=Image.new("RGBA", (200,200),(120,20,20))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(255,255,0),font=font)
draw = ImageDraw.Draw(img)
img.save("test.png")
这很好用,但是,我无法添加更多颜色,例如3种不同颜色的RED,YELLOW,GREEN就像信号量一样。
此外,图像可以转换,例如转角吗?
非常感谢
答案 0 :(得分:3)
您可以在chord
课程中使用ImageDraw.Draw
来电。你必须通过这个函数四个参数,第一个是位置和大小,描述为一个封闭的盒子,即(x1,y1,x2,y2),第二个是起始角度,第三个是结束角度;如果你想要一个完整的圆,你必须分别指定0和360。您可以使用命名参数fill
设置填充颜色。
更好地解释一个例子:
import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
font = ImageFont.truetype("/usr/share/fonts/truetype/DejaVuSans.ttf",25)
img=Image.new("RGBA", (200,200),(120,20,20))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(255,255,0),font=font)
draw.chord((100, 75, 125, 100), 0, 360, fill='green')
draw.chord((75, 100, 100, 125), 0, 360, fill='blue')
draw.chord((125, 125, 150, 150), 0, 360, fill='yellow')
draw = ImageDraw.Draw(img)
img.save("test.png")