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

 更新时间:2019年09月06日 16:17:04   作者:北风忆夕  
这篇文章主要给大家介绍了关于如何利用python给图片添加半透明水印的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用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中用好短路机制

    这篇文章主要介绍了如何在Python中用好短路机制,Python中的短路机制非常有用,跟很多其他编程语言中的短路机制作用类似,接下来让我们通过几个简单的例子总结Python中可用的几种短路机制,需要的朋友可以参考下
    2022-02-02
  • Python中遇到的小问题及解决方法汇总

    Python中遇到的小问题及解决方法汇总

    到年底了,现在的时间适合写点最近的小总结,所以下面这篇文章主要介绍了Python中遇到的一些小问题及解决方法,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2017-01-01
  • 关于Python 实现tuple和list的转换问题

    关于Python 实现tuple和list的转换问题

    这篇文章主要介绍了Python 实现tuple和list的转换,文中介绍了list(列表)和tuple(元组)共同点和区别,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 利用在Python中数值模拟研究气体扩散

    利用在Python中数值模拟研究气体扩散

    在 Python 中,可以使用数值模拟来研究气体扩散。本文就来通过一些示例为大家讲讲具体的实现方法,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2023-01-01
  • python中cv2.imread()和Image.open()的区别和联系详解

    python中cv2.imread()和Image.open()的区别和联系详解

    image.open和cv2.imread都是Python中用于读取图像文件的函数,但是它们之间有一些区别,这篇文章主要给大家介绍了关于python中cv2.imread()和Image.open()的区别和联系,需要的朋友可以参考下
    2024-07-07
  • 解决Python print 输出文本显示 gbk 编码错误问题

    解决Python print 输出文本显示 gbk 编码错误问题

    这篇文章主要介绍了解决Python print 输出文本显示 gbk 编码错误问题,本文给出了三种解决方法,需要的朋友可以参考下
    2018-07-07
  • 批标准化层 tf.keras.layers.Batchnormalization()解析

    批标准化层 tf.keras.layers.Batchnormalization()解析

    这篇文章主要介绍了批标准化层 tf.keras.layers.Batchnormalization(),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python调用REST API接口的几种方式汇总

    Python调用REST API接口的几种方式汇总

    这篇文章主要介绍了Python调用REST API接口的几种方式汇总,帮助大家更好的利用python进行自动化运维,感兴趣的朋友可以了解下
    2020-10-10
  • python提取特定格式的数据的操作方法

    python提取特定格式的数据的操作方法

    这篇文章主要介绍了python提取特定格式的数据,通过本脚本,我们学习了如何使用 Pandas 读取和处理 Excel 数据,如何使用 Tkinter 创建图形用户界面,以及如何处理文件对话框和文件操作,需要的朋友可以参考下
    2024-06-06
  • Python实现获取弹幕的两种方式分享

    Python实现获取弹幕的两种方式分享

    弹幕可以给观众一种“实时互动”的错觉,在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。本文为大家总结了两个Python获取弹幕的方法,希望对大家有所帮助
    2023-03-03

最新评论