如果你想在自己的电脑上运行,在代码编辑器或者命令行中运行即可。
需要注意的几点是:
1.需要下载pillow库。可以在命令行通过 pip install pillow 安装。如果用pycharm
也可以在终端pip install pillow 安装
2. 将你的原始图片跟代码放在同一个目录,并修改文件中的图像文件名。
3. 字体可以自行更改,但要确保是中文字体,并且字体文件的路径正确。
运行代码之后
完整代码:
from PIL import Image, ImageDraw, ImageFont, ImageMode
#设置字体打印大小
font_size = 7
#设置添加的名字
text = "我喜欢你"
img_path = "./aaa.jpg"#最好是建立一个新的文件夹把python代码和照片放到一个文件夹中把照片的名称加后面的后缀放到这里./后面即可
#导入指定的图片
# 注意图片的路径
img_raw = Image.open(img_path)
#使用load函数获取到每一个像素值
img_array = img_raw.load()
# 新建画布并设置好相关参数
'''
每一张图片都是由一个一个的像素点所组成的。而每个像素点,都有自己的颜色,其颜色可以用一个数组来表示:(a,b,c),其中每位数的取值范围都是 0-255。
比如(0,0,0)代表黑色,(255,255,255)代表白色。你们可以根据自己的照片自己改写这个里面的数据,找到适合的颜色.
'''
img_new = Image.new("RGB", img_raw.size, (100, 100, 100))#参数: image = Image.new(mode,size,color)
#添加字体
draw = ImageDraw.Draw(img_new)
# 字体,可以使用windows系统自带的(可打开c盘的fonts文件夹查看你所喜欢的文字)
font = ImageFont.truetype('simfang.ttf', font_size)
#文本循环生成
def character_generator(text):
while True:
for i in range(len(text)):
yield text[i]
ch_gen = character_generator(text)
for y in range(0, img_raw.size[1], font_size):
for x in range(0, img_raw.size[0], font_size):
draw.text((x, y), next(ch_gen), font=font, fill=img_array[x, y], direction=None)
# 把生成的图片保存下来,并命名这里名字随意
img_new.convert('RGB').save("我喜欢你.png")