• 使用python实现图片增加水印


    处于某些业务需求需要对一些特定的图片增加水印,于是去了解了PIL这个库,可以完美的解决这个问题

    实现效果如下

    安装模块

    pip3 install pillow

    具体代码如下

    from PIL import Image, ImageDraw, ImageFont
    
    imageFile = "./timg_3.jpg"
    imageInfo = Image.open(imageFile)
    fontOne = ImageFont.truetype("‪C:WindowsFontssimfang.ttf", 100)
    fontTwo = ImageFont.truetype("‪C:WindowsFontssimfang.ttf", 100)
    
    draw = ImageDraw.Draw(imageInfo)
    print(imageInfo.size)
    draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2), u"这是一个测试图片", fill=(255, 0, 0), font=fontOne)
    draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2 + 300), u"等会去看电影", fill=(134, 153, 153), font=fontOne)
    
    imageInfo.show()
    # imageInfo.save(r"./image/target01.JPG")
    print("success")

    代码很简单,下面具体讲讲上面每个方法的使用以及参数的意义:

    from PIL import Image, ImageDraw, ImageFont # 从PIL中导包

    imageFile :需要添加文字的图片地址(可以是相对地址也可以是绝对地址)
    imageInfo = Image.open(imageFile):使用image.open()打开图像

    fontOne = ImageFont.truetype("‪C:WindowsFontssimfang.ttf", 100) # 水印使用系统字体
    fontTwo = ImageFont.truetype("‪C:WindowsFontssimfang.ttf", 100) # 水印使用系统字体

    使用 draw = ImageDraw.Draw(imageInfo)实例化一个可写对象

    draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2), u"这是一个测试图片", fill=(255, 0, 0), font=fontOne) # 水印加载的位置
    draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2 + 300), u"等会去看电影", fill=(134, 153, 153), font=fontOne)

    draw.text()方法中的参数解析

    • xy: 表示文字写入图片中的位置(注意:这里的坐标需为一个元组)

    • text: 加到图片上的文字

    • fill: 水印文字的颜色(范围:0-255,0-255,0-255)

    • font: 水印使用的自已

    imageInfo.show(): 预览图片
    imageInfo.save(r"./image/target01.JPG"):保存加入水印的图片

    更多关于PIL库的使用参照PIL的用法

    本文参考链接:

    https://blog.csdn.net/danieljackz/article/details/94999416

  • 相关阅读:
    国庆清北 Day5 T3 holyshit
    清北国庆Day4 T2 r
    清北国庆Day4 T2 y
    国庆清北Day4 DP 题目
    国庆清北 DP
    国庆清北 搜索
    国庆清北 图论
    国庆清北 数据结构
    python爬虫学习:网页采集器、豆瓣电影爬取、百度翻译
    入门爬虫-requests模块
  • 原文地址:https://www.cnblogs.com/xiao987334176/p/14102759.html
Copyright © 2020-2023  润新知