如何让python中的图显示中文

如何让python中的图显示中文在 Python 中 要在图片上显示中文 你可以使用 PIL Python Imaging Library 或 OpenCV 库 以下是使用 PIL 和 OpenCV 显示中文的两种方法 使用 PIL 显示中文 1 确保你有支持中文的字体文件 例如 simsun ttc 2 使用 ImageFont truetype 加载字体文件 3 使用 ImageDraw Draw 对象在图片上绘制文本

在Python中,要在图片上显示中文,你可以使用PIL(Python Imaging Library)或OpenCV库。以下是使用PIL和OpenCV显示中文的两种方法:

使用PIL显示中文

1. 确保你有支持中文的字体文件,例如`simsun.ttc`。

2. 使用`ImageFont.truetype`加载字体文件。

3. 使用`ImageDraw.Draw`对象在图片上绘制文本。

示例代码:

python

from PIL import Image, ImageDraw, ImageFont

import numpy as np

加载背景图片

chinese_image = np.array(Image.open('chinese_image.jpg'))

创建一个可以在给定图像上绘图的对象

draw = ImageDraw.Draw(chinese_image)

加载字体文件

font = ImageFont.truetype('simsun.ttc', 34)

绘制文本

text = '中文'

text_size = font.getsize_multiline(text)

draw.text((10, 10), text, font=font, fill=(255, 0, 0))

保存图片

chinese_image = Image.fromarray(chinese_image)

chinese_image.save('chinese_image_with_text.jpg')

使用OpenCV显示中文

1. 确保你有支持中文的字体文件,例如`simsun.ttc`。

2. 使用`cv2.putText`方法在图片上添加文字。

3. 使用`cv2.FONT_HERSHEY_SIMPLEX`或其他字体风格。

示例代码:

python

import cv2

加载背景图片

bk_img = cv2.imread('background.jpg')

在图片上添加文字信息

cv2.putText(bk_img, 'Hello World', (100, 300), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (255, 255, 255), 1, cv2.LINE_AA)

显示图片

cv2.imshow('add_text', bk_img)

cv2.waitKey()

保存图片

cv2.imwrite('add_text.jpg', bk_img)

使用matplotlib显示中文

1. 确保你有支持中文的字体文件,例如`SimHei.ttf`。

2. 设置`rcParams`中的`font.sans-serif`和`axes.unicode_minus`参数。

示例代码:

python

import matplotlib.pyplot as plt

设置字体参数

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

绘制图形

plt.hist(roll_list, bins=range(2, 14), normed=1, edgecolor='black', linewidth=1)

plt.title('骰子点数直方图统计')

plt.xlabel('点数')

plt.ylabel('概率')

plt.show()

请确保你的环境中安装了相应的字体文件,并且字体文件路径正确。如果使用的是Jupyter Notebook,你可能需要先安装字体文件,或者将字体文件路径添加到系统环境变量中。

编程小号
上一篇 2026-04-18 08:10
下一篇 2026-04-18 08:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/55723.html