分类: Python/Ruby
2022-11-29 17:22:18
python学习交流Q群:770699889 ###
from PIL import Image,ImageDraw,ImageFont
#像素放大尺寸
img_king_size = 20
#输入内容
text = '这是xx的女神'
#设置字体
font = ImageFont.truetype('simsun.ttc',img_king_size)
#图片路径
img_path = './king.jpg'
#打开图片
img = Image.open(img_path)
img_w,img_h = img.size
#创建一个小图,用于填充字体
img_child = Image.new("RGB", (img_king_size, img_king_size))
#创建一个大图,状态填充好的小图字体
img_ans = Image.new("RGB",(img_w * img_king_size,img_h * img_king_size))
#获取单个文字的宽和高
text_w,text_h = font.getsize('中')
#文字水平居中
offset_x = (img_king_size - text_w) >> 1
#文字垂直居中
offset_y = (img_king_size - text_h) >> 1
char_index = 0
#小图用于绘制文字
draw =跟单网gendan5.com ImageDraw.Draw(img_child)
#循环遍历原图的每一个像素点
for x in range(img_w):
for y in range(img_h):
#绘制背景,让图片更好看
draw.rectangle((0,0,img_king_size,img_king_size),fill = 'lightgray')
#用(x,y)处的像素点的色值进行绘制字体
draw.text((offset_x,offset_y),text[char_index],font = font,fill = img.getpixel((x,y)))
img_ans.paste(img_child,(x * img_king_size,y * img_king_size))
char_index = (char_index + 1) % len(text)
img_ans.save('king-letter.jpg')