Python 实现给图片加文字或logo水印

yizhihongxing

Python 实现给图片加文字或logo水印

什么是水印

水印(Watermark)是指在一幅图片、视频或文档上加上特定的信息或标记,目的是表明该文件的所有权或者指示该文件的特定用途。

Python 库

在 Python 中,我们可以使用 PIL (Python Image Library) 或者它的 fork Pillow 这两个库来实现给图片加水印。

安装 PIL or Pillow

pip install Pillow

添加文字水印

在使用 PIL 或 Pillow 给图片添加文字水印时,需要先加载图片,然后创建一个 ImageDraw 对象,并调用它的 text 方法来在图片上写入文本。最后,将处理后的图像保存到本地文件或直接显示到屏幕。

下面是一个实现的示例:

from PIL import Image, ImageDraw, ImageFont

def add_text_watermark(image_path, text, pos):
    image = Image.open(image_path)
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype('arial.ttf', 36)
    draw.text(pos, text, font=font, fill=(255, 255, 255, 128))
    image.show()

上面的代码通过加载给定路径的图片文件,创建 ImageDraw 对象,使用指定的字体和颜色向图片的指定位置写入文本,最后以对话框展示处理后的图片。

添加图片水印

在使用 PIL 或 Pillow 给图片添加图片水印时,需要先加载图片,然后打开水印图片,将水印图像缩放到合适大小,再将其按照指定的位置粘贴到主图片上。最后,将处理后的图像保存到本地文件或直接显示到屏幕。

下面是一个实现的示例:

from PIL import Image

def add_image_watermark(image_path, watermark_path, pos):
    image = Image.open(image_path)
    watermark = Image.open(watermark_path)
    watermark = watermark.resize((image.size[0]//4, image.size[1]//4))
    image.paste(watermark, pos, watermark)
    image.show()

上面的代码通过加载给定路径的图片文件,缩小水印图像的尺寸,按照指定的位置粘贴到主图片上面,最后以对话框展示处理后的图片。

示例

以下是调用 add_text_watermark() 和 add_image_watermark() 两个函数的示例:

# 添加文本水印
add_text_watermark('original.jpg', 'My Photo', (100, 100))

# 添加图片水印
add_image_watermark('original.jpg', 'watermark.png', (0, 0))

此时你应该已经实现了在 Python 中添加水印给图片的功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 实现给图片加文字或logo水印 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 正则表达式从原理到实战全面学习小结

    正则表达式从原理到实战全面学习小结 正则表达式是一种用于匹配字符串的工具,它可以用来检查一个字符串是否符合某种模式。在本文中,我们将从原理到实战全面学习正则表达式。 正则表达式的基本语法 正则表达式的基本语法包括以下几个部分: 字符:表示匹配该字符本身。 字符集:用方括号[]表示,表示匹配方括号中的任意一个字符。 元字符:表示特殊含义的字符,例如”.”表示匹…

    python 2023年5月14日
    00
  • Python文件夹与文件的操作实现代码

    下面是Python文件夹与文件的操作实现代码的完整攻略。 1. 获取文件路径 对于文件夹和文件的操作,首先需要获取其路径。Python提供了os库来进行路径操作。 获取当前文件夹路径 import os current_dir = os.getcwd() print(f"当前文件夹路径为:{current_dir}") 上述代码使用get…

    python 2023年5月31日
    00
  • Python实现购物车购物小程序

    下面是“Python实现购物车购物小程序”的完整攻略: 1.确认需求和功能 在实现购物车购物小程序之前,首先需要清楚自己的需求和实现的功能,并做好规划。例如,需要实现以下功能: 展示商品列表 选择商品加入购物车 显示购物车商品列表 删除购物车商品 计算购物车商品总价 2.搭建环境 在编写代码之前,需要在本机安装Python开发环境。可以使用Anaconda或…

    python 2023年5月23日
    00
  • python函数的高级应用详解

    Python函数的高级应用详解 在Python中,函数是程序的基本组成单元之一,但是函数不仅仅只是完成一些简单的任务,还可以通过一些高级应用实现更加复杂的功能。本文将详细讲解Python函数的高级应用,包括闭包、装饰器、生成器以及函数式编程等内容。 闭包 闭包(Closure)是指定义在函数内部的函数,并且它可以访问外部函数的变量。闭包可以用来创建一些类似于…

    python 2023年5月13日
    00
  • Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例

    下面我会给你详细讲解Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例的完整攻略。 一、Python文件操作之读取文件(read) 在Python中,你可以使用open()内置函数来打开文件。open()函数可以指定要打开的文件名,以及打开文件的方式(只读、只写、追加等),并返回一个文件对象,它包含了对文件进行读…

    python 2023年6月5日
    00
  • Python 命令行非阻塞输入的小例子

    这里是 Python 命令行非阻塞输入的小例子的完整攻略。 什么是命令行的阻塞输入 在命令行下运行 Python 时,我们通常使用 input() 函数从标准输入中读取数据。input() 会阻塞程序的执行,直到用户输入了数据并按下了回车键。 这种阻塞输入的方式有利有弊。它简单易用,不需要复杂的异步编程技巧。但是它会让程序在读取输入等待用户的响应时,不能执行…

    python 2023年6月3日
    00
  • Python实现迪杰斯特拉算法并生成最短路径的示例代码

    下面是详细讲解“Python实现迪杰斯特拉算法并生成最短路径的示例代码”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 Dijkstra算法是一种用于查找图中最短路径的算法。其主要思想是从起点开始,逐步扩展到其他节点,直到到达终点。在扩展的过程中,记录每个节点的最短路径和前驱节点,最终得到起点到终点的最短路径。Dijkstra算法的实现…

    python 2023年5月14日
    00
  • Python入门教程(三十二)Python的命令行输入

    下面是详细讲解“Python入门教程(三十二)Python的命令行输入”的完整攻略: 1. 命令行输入简介 命令行输入是指通过终端或命令行窗口来输入命令或参数。在Python程序中,通过使用input()函数可以实现命令行输入功能。 2. input()函数的使用方法 input()函数用于接收用户在命令行窗口中输入的内容,并把输入的字符串返回给调用者。示例…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部