Python 给图片上加文字

本文将介绍如何使用Python库PIL为图片添加文字。通过示例代码详细讲解了图片处理的步骤,包括导入库、读取图片、创建字体、设置文字位置和颜色,以及保存结果。适合Python初学者和需要进行图像处理的开发者参考。
import PIL
from PIL import ImageFont
import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw

#设置字体,如果没有,也可以不设置
font = ImageFont.truetype('/home/lx/下载/华文细黑.ttf',13)#Baidu and download file 华文细黑.ttf

#打开底版图片
imageFile = './baise.jpg'#白色的图片
im1=Image.open(imageFile)

# 在图片上添加文字 1
draw = ImageDraw.Draw(im1)
draw
使用Python图片字可以借助Pillow库和OpenCV库,以下分别介绍这两种方法: ### 使用Pillow库 Pillow是Python中常用的图像处理库,能方便地在图片上添文字。示例代码如下: ```python from PIL import Image, ImageDraw, ImageFont def add_text_to_image(image_path, text, position=(10, 10), font_path='simsun.ttc', font_size=30, color=(255, 255, 255)): """ 在图片上添文字 :param image_path: 图片路径 :param text: 要添的文本 :param position: 文本位置,默认为左上角 :param font_path: 字体文件路径,默认使用arial字体 :param font_size: 字体大小 :param color: 文字颜色,默认为白色 """ # 打开图片 image = Image.open(image_path) draw = ImageDraw.Draw(image) # 载字体,确保font_path指向一个有效的字体文件 try: font = ImageFont.truetype(font_path, font_size) except IOError: print("字体文件未找到,请检查font_path路径是否正确。") return # 在图片上添文字 draw.text(position, text, fill=color, font=font) # 保存或显示图片 # image.show() # 显示图片 output_path = 'image_with_text.png' # 输出图片的路径 image.save(output_path) print(f"带有文字图片已保存至: {output_path}") # 使用示例 image_path = 'example.png' # 你的图片路径 add_text_to_image(image_path, "Hello, World!", position=(100, 100), color=(0, 0, 0)) ``` 此代码定义了`add_text_to_image`函数,可根据传入的图片路径、文字内容、位置、字体文件路径、字体大小和文字颜色,在图片上添文字并保存为新图片[^1]。 ### 使用OpenCV库 不过OpenCV在添文字方面存在一定局限性,它没有使用自定义字体文件的函数,不能使用自己的字体,也无法显示中文字符,文字位置也不太好控制。示例代码如下: ```python import cv2 # 读取图片 image = cv2.imread('example.png') # 在图片上添文字 text = '3' position = (100, 100) font = cv2.FONT_HERSHEY_SIMPLEX font_scale = 1 color = (0, 255, 0) thickness = 2 cv2.putText(image, text, position, font, font_scale, color, thickness) # 保存图片 cv2.imwrite('image_with_text_opencv.png', image) ``` 这段代码使用OpenCV的`cv2.putText`函数在图片上添文字并保存为新图片,但它无法使用自定义字体和显示中文[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值