如何利用python给图片添加半透明水印

yipeiwu_com5年前Python基础

前言

本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

示例代码:

# coding:utf-8

from PIL import Image, ImageDraw, ImageFont


def add_text_to_image(image, text):
 font = ImageFont.truetype('C:\Windows\Fonts\STXINGKA.TTF', 36)

 # 添加背景
 new_img = Image.new('RGBA', (image.size[0] * 3, image.size[1] * 3), (0, 0, 0, 0))
 new_img.paste(image, image.size)

 # 添加水印
 font_len = len(text)
 rgba_image = new_img.convert('RGBA')
 text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
 image_draw = ImageDraw.Draw(text_overlay)

 for i in range(0, rgba_image.size[0], font_len*40+100):
  for j in range(0, rgba_image.size[1], 200):
   image_draw.text((i, j), text, font=font, fill=(0, 0, 0, 50))
 text_overlay = text_overlay.rotate(-45)
 image_with_text = Image.alpha_composite(rgba_image, text_overlay)

 # 裁切图片
 image_with_text = image_with_text.crop((image.size[0], image.size[1], image.size[0] * 2, image.size[1] * 2))
 return image_with_text


if __name__ == '__main__':
 img = Image.open("test.jpg")
 im_after = add_text_to_image(img, u'测试使用')
 im_after.save(u'测试使用.png')

效果图:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python中的特殊语法:filter、map、reduce、lambda介绍

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/T...

在Django框架中运行Python应用全攻略

我们来假定下面的这些概念、字段和关系:     一个作者有姓,有名及email地址。     出版商有名称,地址,所...

Python实现加载及解析properties配置文件的方法

本文实例讲述了Python实现加载及解析properties配置文件的方法。分享给大家供大家参考,具体如下: 这里参考前面一篇:/post/137393.htm 我们都是在java里面遇...

shelve 用来持久化任意的Python对象实例代码

shelve -- 用来持久化任意的Python对象 这几天接触了Python中的shelve这个module,感觉比pickle用起来更简单一些,它也是一个用来持久化Python对象的...

PYTHON正则表达式 re模块使用说明

首先,运行 Python 解释器,导入 re 模块并编译一个 RE: #!python Python 2.2.2 (#1, Feb 10 2003, 12:57:01) >>...