Python 把图片用文字填充
PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除
效果图:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from PIL import Image, ImageDraw, ImageFont
PicPath = "C:\\Users\\abc\\Desktop\\123456.jpg"
FontPath = "STXINWEI.TTF" #字体在C:\Windows\Fonts选择
text = "武汉加油"
FontSize = 8
PicOri = Image.open(PicPath)
PicBac = PicOri.load()
PicNew = Image.new("RGB", PicOri.size, (0, 0, 0)) #以括号中的条件重新建立一张图片
draw = ImageDraw.Draw(PicNew) #在PicNew上绘制
font = ImageFont.truetype(FontPath, FontSize) #引用字体
index = 0
#横向遍历图片像素
for y in range(0, PicOri.size[1], FontSize): #高
for x in range(0, PicOri.size[0], FontSize): #宽
index = index % len(text) #用求余的方式,确定每次循环打印哪个字
# 把字写到PicNew图片上,字体颜色为原图(PicBac)相同像素位置的颜色
draw.text((x, y), text[index], font=font, fill=PicBac[x, y])
index = index + 1
PicNew.convert("RGB").save("C:\\Users\\abc\\Desktop\\123.jpg")