gpt4 book ai didi

python - 创建具有多种颜色的图像并添加文本

转载 作者:行者123 更新时间:2023-12-05 03:14:12 25 4
gpt4 key购买 nike

我正在尝试用 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,就像信号量一样。

此外,图像是否可以变形,例如圆角?

非常感谢

最佳答案

您可以在 ImageDraw.Draw 类中使用 chord 调用。你必须给这个函数传递四个参数,第一个是位置和大小,描述为一个包围盒,即(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")

关于python - 创建具有多种颜色的图像并添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26289679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com