Python 给图片加水印代码
from PIL import Image, ImageDraw, ImageFontfont = ImageFont.truetype('c:/windows/Fonts/Arial.ttf', 24)
# image: 图片text:要添加的文本 font:字体
def add_text_to_image(image, text, font=font):
rgba_image = image.convert('RGBA')
text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
image_draw = ImageDraw.Draw(text_overlay)
text_size_x, text_size_y = image_draw.textsize(text, font=font)
# 设置文本文字位置
print(rgba_image)
text_xy = (rgba_image.size - text_size_x, rgba_image.size - text_size_y)
# 设置文本颜色和透明度
image_draw.text(text_xy, text, font=font, fill=(76, 234, 124, 180))
image_with_text = Image.alpha_composite(rgba_image, text_overlay)
return image_with_text
if __name__ == '__main__':
im_before = Image.open("yy.jpg")
# im_before.show()
W_text = input('请输入水印文字:').strip()
im_after = add_text_to_image(im_before, W_text)
im_after.show()
# im.save('im_after.jpg') 谢谢楼主,最近正好需要文字转图片的代码,借用你的代码整出来了{:1_893:}
我把代码贴出来 有需要的兄弟们取走(背景是截取的Excel表格),如果要使用其他程序调用,可以使用命令行调用
python居中加文字.py"要添加的文字"
from PIL import Image, ImageDraw, ImageFont
import sys
font = ImageFont.truetype(r'C:\WINDOWS\Fonts\MSYH.TTC', 80)
def add_text_to_image(image, text, font=font):
rgba_image = image.convert('RGBA')
text_overlay = Image.new('RGBA', rgba_image.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 = ((rgba_image.size - text_size_x) / 2,
(rgba_image.size - text_size_y) / 2)
# 设置文本颜色和透明度
image_draw.text(text_xy, text, font=font, fill=(30, 30, 30, 255))
image_with_text = Image.alpha_composite(rgba_image, text_overlay)
return image_with_text
if __name__ == '__main__':
if len(sys.argv) > 1:
w_text = sys.argv
else:
w_text = input('输入要加的文字:')
w_text = w_text.strip()
if w_text:
with Image.open('E:/test.jpg') as f:
im_after = add_text_to_image(f, w_text)
im_after.show()
im_after.save('E:/img_with_text.png') 楼主,这个是什么意思
DeprecationWarning: textsize is deprecated and will be removed in Pillow 10 (2023-07-01). Use textbbox or textlength instead.
text_size_x, text_size_y = image_draw.textsize(text, font=font) 好东西,这就去试一试
顺便沙发 安装PIP INSTALL PIL失败是怎么回事 大白baymax 发表于 2022-10-12 16:36
安装PIP INSTALL PIL失败是怎么回事
pip install Pillow mycgb 发表于 2022-10-12 16:40
pip install Pillow
感谢好了 textsize已经被弃用了,{:1_896:} 有没有成品 这个程序貌似不能批量给一个文件夹下的 加水印吧 。好可惜哦,因为一个一个的 有点损失这个软件的高效率了 。哈哈 不过还是很感谢你分享思路。
页:
[1]
2