Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3593301
  • 博文数量: 365
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2522
  • 用 户 组: 普通用户
  • 注册时间: 2019-10-28 13:40
文章分类

全部博文(365)

文章存档

2023年(8)

2022年(130)

2021年(155)

2020年(50)

2019年(22)

我的朋友

分类: 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')

阅读(478) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~