定义一个可以在图片上绘制中文的函数,可以直接调用
时间: 2024-09-18 12:18:23 浏览: 25
在Python中,你可以使用`PIL`(Pillow)库来处理图像,并结合第三方库如`PangoCairo`或`ChineseText`来在图片上绘制中文字符。这里是一个简单的示例,展示了如何创建一个函数来绘制文本:
```python
from PIL import Image, ImageDraw, ImageFont
def draw_chinese_text_on_image(image_path, text, output_path, font_path, color='black'):
# 打开图片
img = Image.open(image_path)
# 创建ImageDraw对象
draw = ImageDraw.Draw(img)
# 设置字体
try:
font = ImageFont.truetype(font_path, size=30) # 假设你有30点大小的字体文件
except IOError:
print(f"无法找到字体文件 {font_path}")
return
# 计算文本宽度和高度
width, height = draw.textsize(text, font=font)
# 获取图片的左下角坐标来放置文本
x, y = (img.width - width) // 2, (img.height - height) // 2
# 绘制文本
draw.text((x, y), text, fill=color, font=font)
# 保存图片
img.save(output_path)
# 调用函数并传入图片路径、要绘制的中文、输出路径以及字体路径
draw_chinese_text_on_image('input.jpg', '你好,世界', 'output_with_chinese.jpg', 'simhei.ttf')
```
在这个例子中,你需要先安装`PIL`和匹配的中文字体文件,比如`simhei.ttf`。然后根据需要调整参数,如字体大小和颜色。