使用PIL在文本周围创建填充的矩形/形状

时间:2020-07-14 16:46:19

标签: python python-imaging-library

我有一个已有的图像,在该图像上添加了边框和文本,我想在文本区域周围放置一个矩形,使其类似于图片或绘画上的金嵌板。 我正在使用draw.text来编写和定位文本,但无法弄清楚如何制作形状边框并填充文本参数。

import os
from PIL import Image, ImageOps, ImageDraw, ImageFont
import glob


## SINGLE IMAGE

img = Image.open('Art/AB-2020 (2).jpg')
add_grey_border = ImageOps.expand(img,border=50,fill='grey')
add_black_border = ImageOps.expand(add_grey_border,border=300,fill='black')
add_black_border.save('Art/imaged-with-border.png')

## Function to add Title to image

def add_title(img_src, title):

    img = Image.open(img_src, 'r')
    draw = ImageDraw.Draw(img)
    w, h = img.size
    
    font = ImageFont.truetype("arial.ttf", 100)
    text_w, text_h = draw.textsize(title, font)

    draw.text(((w - text_w) / 2, (h-100) - text_h), title, (255,255,255), 
    font=font, stroke_width=2, stroke_fill='#eeda19')
    img.save(img_src)
    return img_src

add_title('Art/imaged-with-border.png', 'test')

我到目前为止有什么: painting with text

如果我能正确找到铭牌,则将删除stroke_fill。

我希望它看起来像这样: What I am trying to achieve

0 个答案:

没有答案