Python实现生成书法字体的示例代码

 更新时间:2025年11月28日 09:44:37   作者:熊猫_豆豆  
这篇文章主要为大家详细介绍了一个使用matplotlib生成书法文字图片的Python方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

本文介绍了一个使用matplotlib生成书法文字图片的Python方法。通过导入matplotlib库,定义create_calligraphy_with_matplotlib函数,可以指定文本内容、字体路径、输出路径等参数,设置字体属性并绘制书法文字。函数会隐藏坐标轴,保存为透明背景的图片。示例代码演示了如何使用该函数生成"水墨丹青"的书法作品,并可自定义字号和颜色。该方案适合需要将书法文字可视化的应用场景。

效果如下:

完整代码: 

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

def create_calligraphy_with_matplotlib(text, font_path, output_path, size=50, color='black'):
    """
    使用matplotlib生成书法文字图片
    """
    # 设置字体
    prop = fm.FontProperties(fname=font_path, size=size)
    
    # 创建图形
    fig, ax = plt.subplots(figsize=(10, 3))
    ax.text(0.5, 0.5, text, fontproperties=prop, 
            ha='center', va='center', color=color, size=size)
    
    # 隐藏坐标轴
    ax.axis('off')
    
    # 保存图片
    plt.savefig(output_path, bbox_inches='tight', pad_inches=0.1, transparent=True)
    plt.close()
    print(f"书法文字图片已保存至: {output_path}")

# 使用示例
if __name__ == "__main__":
    font_path = "DroidSansFallback.ttf"  # 替换为你的书法字体路径
    text = "水墨丹青"
    output_path = "calligraphy_matplotlib.png"
    
    create_calligraphy_with_matplotlib(text, font_path, output_path, size=80, color='#8B4513')

知识扩展:

下面我们来看看如何使用python 模拟自己的手写字体吧

方式一

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)

效果:

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

到此这篇关于Python实现生成书法字体的示例代码的文章就介绍到这了,更多相关Python生成书法字体内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python设计模式之抽象工厂模式原理与用法详解

    Python设计模式之抽象工厂模式原理与用法详解

    这篇文章主要介绍了Python设计模式之抽象工厂模式,简单讲述了抽象工厂模式的概念、原理并结合实例形式分析了Python实现与使用抽象工厂模式的相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Python+Django搭建自己的blog网站

    Python+Django搭建自己的blog网站

    一直有种想要搭建自己博客系统打冲动,可惜需要前端知识较多,而且还要安装一系列软件并配置(windows平台),后来偶然发现了Django这个神器,恰巧刚学过python,于是就又装了ubuntu(安装各种软件配置都方便),折腾了半天,终于搭建起来自己的第一个简易博客。
    2018-03-03
  • 使用Python和XML实现文件复制工具的完整代码

    使用Python和XML实现文件复制工具的完整代码

    在本篇博客中,我们将学习如何使用 wxPython 构建一个简单的文件复制工具,并将文件路径和目标目录的配置信息保存到 XML 文件中,通过这种方式,我们可以在下次运行程序时轻松加载之前保存的配置,需要的朋友可以参考下
    2024-08-08
  • 封装 Python 时间处理库创建自己的TimeUtil类示例

    封装 Python 时间处理库创建自己的TimeUtil类示例

    这篇文章主要为大家介绍了封装 Python 时间处理库创建自己的TimeUtil类示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2023-05-05
  • Python调用ctypes使用C函数printf的方法

    Python调用ctypes使用C函数printf的方法

    这篇文章主要介绍了Python调用ctypes使用C函数printf,需要的朋友可以参考下
    2017-08-08
  • Python图片处理之图片裁剪教程

    Python图片处理之图片裁剪教程

    这篇博文的目的是从图片中提取一定的矩形区域作为新的图片 简单来说:我的全家福丢了,所以我想从以前的房间照片里,提取出其中的全家福并重新打印一张(忽视画质问题)现在我就是这么个目的,需要的朋友可以参考下
    2021-05-05
  • Python实现数据滤波的示例详解

    Python实现数据滤波的示例详解

    这篇文章主要为大家详细介绍了Python实现数据滤波的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • python集成环境一键部署全过程

    python集成环境一键部署全过程

    这篇文章主要介绍了python集成环境一键部署全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-08-08
  • pycharm配置python 设置pip安装源为豆瓣源

    pycharm配置python 设置pip安装源为豆瓣源

    这篇文章主要介绍了pycharm配置python 设置pip安装源为豆瓣源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 基于Python实现复刻人生重开模拟器

    基于Python实现复刻人生重开模拟器

    人生重开模拟器是由VickScarlet上传至GitHub的一款简单的文字网页游戏。本文将用Python复刻一下这个游戏,感兴趣的小伙伴可以尝试一下
    2022-10-10

最新评论