三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享

在互联网上搜索照片时 , 读者可能经常会看到其中有些图片带有水印的 。 水印通常采用文本或徽标的形式 , 用于“覆盖”照片 , 以指示照片的拍摄者或拥有者的权利 。 一些专家建议我们在照片添加水印之前 , 先将其添加到社交媒体上 , 以防止想要使用和利用自己的人(甚至将其用于犯罪) 。 当然 , 水印也仍然可以删除 , 因此它们不足以保护数字版权 。
要在照片上添加水印 , 我们将使用Pillow库 。 我们要做的第一件事是安装Pillow(如果您还没有的话):
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
安装完成后 , 我们可以继续!
【三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享】01、添加文字水印
我们将从在照片中添加文字开始 。 以下使用的图片的原始作者@watcharapongwongsanai拍摄的照片(在俄勒冈州拍摄):
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
现在 , 我们将添加一些文字和照片 。 在这种情况下 , 让我们添加地址(如:三微授渔)
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
在这里 , 我们从PIL导入所需的类:Image , ImageDraw和ImageFront 。 然后我们创建一个名为watermark_text的函数 , 该函数采用四个参数 , 即照片文件的地址 , 存储有水印的照片的地址 , 要添加到照片的文本以及最后添加照片的坐标位置 。
此外 , 在此函数中 , 我们读取照片文件 , 其地址为第一个参数 。 然后 , 我们使用ImageDraw.Draw方法复制这张照片 。 接下来 , 我们使用ImageFont.truetype命令创建字体 。 该字体已成为默认的Pillow库 。 我们将大小设置为40点 。 最后 , 我们将显示结果并保存 。 这是获得的结果的照片:
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
接下来 , 让我们给图像加水印!
02、带有图像的水印
大多数专业摄影师会在照片上添加徽标 。 用Pillow将照片添加到照片中也不难 。 让我们学习如何 。 在此示例中 , 我们将使用徽标为照片添加水印 。
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
在这里 , 我们创建一个与第一个函数非常相似的函数 , 但是不是发送文本 , 而是发送将用作水印的图像地址 。 然后 , 在该功能中 , 我们读取主照片和水印图像 。 然后 , 我们调用paste()方法将水印图像粘贴到具有位置的主照片中 , 以确定将水印图像粘贴到的位置 。 得到以下结果 。
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
03、具有图像和透明度的水印
现在 , 让我们创建一个可以使用透明度的新函数 , 以便可以删除先前结果中的黑色部分 。 我在StackOverflow中找到了该解决方案 , 并进行了一些修改和以下示例:
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
此新功能的内容与以前几乎相同 。 只是我们不只是读取水印的照片和图像文件 , 而且还要获取原始照片的宽度和高度 。 从原始照片的宽度和高度开始 , 我们制作一张新照片并赋予透明背景(该照片以RGBA的形式创建了背景(红色 , 绿色 , 蓝色和Alpha) 。 然后 , 我们将原始照片粘贴到透明照片中 , 从左上角标记为)(0,0)之后 , 我们将水印图像粘贴到给定位置 , 最后保存带水印的照片 。 上面的结果代码变为:
三微授渔 如何用Python在照片中创建水印,简单易懂,知识小分享
文章图片
酷吧?
04、结尾
在这里 , 我们讨论使用Python和Pillow在照片上添加水印的2种方法 。 在第一个示例中 , 我们仅向照片添加文本 。 仅在第二个示例中 , 我们才对图像进行了水印处理 , 但没有获得透明度 。 我们改进第二个示例代码以在第三个示例中获得透明性 。


推荐阅读