方式一

1.首先去这个网站(萝卜工坊:专属字体制作)生成自己的字体文件(ttf格式的文件)

系统自带的字体文件在:C:\Windows\Fonts

2.通过代码实现手写字体:

# coding: utf-8
from PIL import Image, ImageFont

from handright import Template, handwrite

text = "你好,世界"

template = Template(
    background=Image.new(mode="1", size=(900, 1000), color=1),
    font=ImageFont.truetype("C:/Windows/Fonts/STLITI.TTF", size=100),
    # line_spacing=150,
    # fill=0,  # 字体“颜色”
    # left_margin=100,
    # top_margin=100,
    # right_margin=100,
    # bottom_margin=100,
    # word_spacing=15,
    # line_spacing_sigma=6,  # 行间距随机扰动
    # font_size_sigma=20,  # 字体大小随机扰动
    # word_spacing_sigma=3,  # 字间距随机扰动
    # end_chars=",。",  # 防止特定字符因排版算法的自动换行而出现在行首
    # perturb_x_sigma=4,  # 笔画横向偏移随机扰动
    # perturb_y_sigma=4,  # 笔画纵向偏移随机扰动
    # perturb_theta_sigma=0.05,  # 笔画旋转偏移随机扰动
)
images = handwrite(text, template)
for i, im in enumerate(images):
    assert isinstance(im, Image.Image)
    im.show()
    # im.save(r"C:\Users\zhichao\{}.webp".format(i))

 效果:

 感觉不好看,换了几个字体了也一样。

方式二

from requests import get


text = "hello,world"
params = {
    'text': text,
}

if len(text) > 1035:
    print('The content you entered is too long.')
else:
    try:
        res = get('https://pywhatkit.herokuapp.com/handwriting', params=params)
        with open('text.png', 'wb') as f:
            f.write(res.content)
        print('Successful production.')
    except Exception as e:
        print('Error :', e)

效果:

该方式貌似只支持英文。。。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐