图片像素级添加文字

早过忘川 提交于 2020-02-14 13:32:46

(程序来自网上,记不得是哪里了,侵删)

from PIL import Image, ImageDraw, ImageFont

font_size = 7
text = "海贼王!"
img_path = "op.jpg"

img_raw = Image.open(img_path)
img_array = img_raw.load()

img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
font = ImageFont.truetype('C:/Windows/fonts/Dengl.ttf', font_size) #C:/Windows/fonts/Dengl.ttf为windows系统保存字体的地方

def character_generator(text):
    while True:
        for i in range(len(text)):
            yield text[i]  #yield使函数成为一个生成器

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("save.jpg")

原图:
在这里插入图片描述
处理后:(里面有 海贼王! 字样)
放大可看出里面有海贼王!字样

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!