给图片加文字,加图片

'''给图片加文字'''
from PIL import Image, ImageDraw, ImageFont

file = 'C:\\Users\\14399\\Desktop\\new_1.png'
image = Image.open(file)
text = '系列出品'
# 指定要使用的字体和大小
font = ImageFont.truetype('C:\\Users\\14399\\Desktop\\simhei.ttf', 50)
layer = image.convert('RGBA')  # 将图像转为 RGBA 格式
# 生成同等大小的图片
text_overlay = Image.new('RGBA', layer.size, (255, 255, 255, 0))
image_draw = ImageDraw.Draw(text_overlay)  # 画图
# 获取文本大小
text_size_x, text_size_y = image_draw.textsize(text, font=font)
# 设置文本位置
text_xy = (layer.size[0] - text_size_x-445, layer.size[1] - text_size_y-1670)
# 设置文本颜色,透明度和位置
image_draw.text(text_xy, text, font=font, fill=(0, 0, 255, 100))
# 将新生成的图片覆盖到需要加水印的图片上
after = Image.alpha_composite(layer, text_overlay)
after.save('C:\\Users\\14399\\Desktop\\im_after_1.png')
after.show()

'''在图片上叠加图片'''

from PIL import Image

# 需要加水印的图片
img = Image.open('C:\\Users\\14399\\Desktop\\im_after.png')
# 水印图片
logo = Image.open('C:\\Users\\14399\\Desktop\\封面.jpg')
logo = logo.resize((250, 200), Image.ANTIALIAS)
# 图层
layer = Image.new('RGBA', img.size, (255, 255, 255, 0))
# 调整位置
layer.paste(logo, (img.size[0] - logo.size[0] - 420, img.size[1] - logo.size[1] - 1750))
# 覆盖
img_after = Image.composite(layer, img, layer)
# 显示和保存
img_after.show()
img_after.save('C:\\Users\\14399\\Desktop\\new_1.png')

 

你可能感兴趣的:(给图片加文字,加图片)