今天带来了一个为图片添加字样的小功能,我们的测试目标图片是:
我们的测试目标是:
我们使用的是Python语言,使用了Image包用作图片处理,matplotlib包用作坐标查阅,这个坐标还是很好看的,一目了然的X,Y轴。还有使用uuid来随机创建文件名称。
环境
工作环境:【Win11】 开发工具:【PyCharm Community Edition 2022.2.3】 开发语言:【Python】 镜像位置:【https://repo.huaweicloud.com/repository/pypi/simple】
镜像修改命令:
代码语言:javascript复制pip3 config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple
pip3 config list
需要下载的包
代码语言:javascript复制pip3 install Image
pip3 install matplotlib
读取图片:
Image.open('图片路径')
进入绘画模式:
ImageDraw.Draw(图片流)
选择字体:
路径:【C:WindowsFonts】
我们在这个文件夹中能看到各种的字体,但是有个问题就是空格的问题,找个没有空格的文字样式使用就可以。
我准备了源码:
代码语言:javascript复制from PIL import Image, ImageDraw, ImageFont
import matplotlib.pyplot as plt
import uuid
# open img
img = Image.open('meixi.png')
draw = ImageDraw.Draw(img)
myfont = ImageFont.truetype('C:/windows/fonts/Calibri.ttf', size=150)
width, height = img.size
draw.text((410, 150), 'M E S S I', font=myfont, fill="red")
# save img
img.save('{0}.jpg'.format(uuid.uuid4()))
# show img
plt.imshow(img)
plt.show()
生成梅西的效果:
虽然很简单,但是也希望大家来集赞啊。
我们看看梅西后面的比赛场次啊: