如果在某个网站上发布了图片,希望在图片上会出现带标识的水印着怎么办呢。

Python使用Pillow添加图片水印

这个是个比较常见的需求,在Python中应该如何处理这一类需求呢?

需要先安装Pillow: pip install pillow

Demo代码:

importsys
fromPILimportImage,ImageDraw,ImageFont
defwatermark_with_text(file_obj,text,color,fontfamily=None):
image=Image.open(file_obj).convert('RGBA')
draw=ImageDraw.Draw(image)
width,height=image.size
margin=10
iffontfamily:
font=ImageFont.truetype(fontfamily,int(height/20))
else:
font=None
textWidth,textHeight=draw.textsize(text,font)
x=(width-textWidth-margin)/2#计算横轴位置
y=height-textHeight-margin#计算纵轴位置
draw.text((x,y),text,color,font)
returnimage
if__name__=='__main__':
org_file=sys.argv[1]
withopen(org_file,'rb')asf:
image_with_watermark=watermark_with_text(f,'py.com','red')
withopen('new_image_water.png','wb')asf:
image_with_watermark.save(f)

使用方法: python watermart.py <图片地址>

这个只是把文本嵌入到图片中的实现,其实也可以嵌入一个图片进去的。具体可以参考pillow官方文档:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。