5.20,福利一波,用文字拼一个自己最爱的人

功能:如题

原图:(略)

效果图:

代码:

import cv2
from PIL import Image, ImageDraw, ImageFont


def draw_text_on_pic(img_file, text_to_draw, font_path, font_size=10, char_space=2):
    """
    :param img_file:目标图片
    :param text_to_draw: 要绘制的文字
    :param font_path: 字体目录
    :param font_size: 字体大小
    :param char_space: 字符间距,正数增大间距,负数减小间距
    :return:无
    """
    img_src = cv2.imread(img_file)
    img_dst = Image.new("RGB", [img_src.shape[1], img_src.shape[0]], "white")
    draw = ImageDraw.Draw(img_dst)

    font = ImageFont.truetype(font_path, size=font_size)

    for x in range(0, img_src.shape[0], font_size + char_space):
        for y in range(0, img_src.shape[1], font_size + char_space):
            draw.text(
                [y, x],
                text_to_draw[int(y / font_size + char_space) % len(text_to_draw)],
                fill=(img_src[x][y][2], img_src[x][y][1], img_src[x][y][0]),
                font=font
            )

    img_dst.save('保存结果-' + img_file)


draw_text_on_pic('老婆.jpg', "我爱你", "楷体.ttf", 10, 1)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值