我正在尝试用python库枕头(PIL的叉子)进行一些图像处理,遇到了一个奇怪的问题出于某种原因,当我试图在同一个y坐标上画一条线并绘制一些文本时,它们不匹配。文字有点低于线,但我有两个图形从同一点开始。以前有人遇到过这个问题和/或知道如何解决吗?下面是我使用的代码:
image = Image.open("../path_to_image/image.jpg")
draw = ImageDraw.Draw(image)
font = ImageFont.truetype("../fonts/Arial Bold.ttf", 180)
draw.line((0,2400, 500,2400), fill="#FFF", width=1)
draw.text((0, 2400), "Test Text", font=font)
image.save(os.path.join(root, "test1.jpg"), "JPEG", quality=100)
return
最佳答案
我得到了类似的东西(尺寸是原来的10倍小):
发生这种情况是因为给ImageDraw.text()的(x,y)坐标是文本的左上角:
pil.imagedraw.draw.text(xy,text,fill=none,font=none,anchor=none)
在给定位置绘制字符串。
参数:
xy–文本的左上角。
文本–要绘制的文本。
font–ImageFont实例。
fill–用于文本的颜色。
这在code中得到确认:文本被转换成位图,然后在xy绘制。