首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

在互联网上搜索照片时,读者可能经常会看到其中有些图片带有水印的。水印通常采用文本或徽标的形式,用于“覆盖”照片,以指示照片的拍摄者或拥有者的权利。一些专家建议我们在照片添加水印之前,先将其添加到社交媒体上,以防止想要使用和利用自己的人(甚至将其用于犯罪)。当然,水印也仍然可以删除,因此它们不足以保护数字版权。

要在照片上添加水印,我们将使用Pillow库。我们要做的第一件事是安装Pillow(如果您还没有的话):

安装完成后,我们可以继续!

01、添加文字水印

我们将从在照片中添加文字开始。以下使用的图片的原始作者@watcharapong wongsanai拍摄的照片(在俄勒冈州拍摄):

现在,我们将添加一些文字和照片。在这种情况下,让我们添加地址(如:三微授渔)

在这里,我们从PIL导入所需的类:Image,ImageDraw和ImageFront。然后我们创建一个名为watermark_text的函数,该函数采用四个参数,即照片文件的地址,存储有水印的照片的地址,要添加到照片的文本以及最后添加照片的坐标位置。

此外,在此函数中,我们读取照片文件,其地址为第一个参数。然后,我们使用ImageDraw.Draw方法复制这张照片。接下来,我们使用ImageFont.truetype命令创建字体。该字体已成为默认的Pillow库。我们将大小设置为40点。最后,我们将显示结果并保存。这是获得的结果的照片:

接下来,让我们给图像加水印!

02、带有图像的水印

大多数专业摄影师会在照片上添加徽标。用Pillow将照片添加到照片中也不难。让我们学习如何。在此示例中,我们将使用徽标为照片添加水印。

在这里,我们创建一个与第一个函数非常相似的函数,但是不是发送文本,而是发送将用作水印的图像地址。然后,在该功能中,我们读取主照片和水印图像。然后,我们调用paste()方法将水印图像粘贴到具有位置的主照片中,以确定将水印图像粘贴到的位置。得到以下结果。

03、具有图像和透明度的水印

现在,让我们创建一个可以使用透明度的新函数,以便可以删除先前结果中的黑色部分。我在StackOverflow中找到了该解决方案,并进行了一些修改和以下示例:

此新功能的内容与以前几乎相同。只是我们不只是读取水印的照片和图像文件,而且还要获取原始照片的宽度和高度。从原始照片的宽度和高度开始,我们制作一张新照片并赋予透明背景(该照片以RGBA的形式创建了背景(红色,绿色,蓝色和Alpha)。然后,我们将原始照片粘贴到透明照片中,从左上角标记为) (0,0)之后,我们将水印图像粘贴到给定位置,最后保存带水印的照片。上面的结果代码变为:

酷吧?

04、结尾

在这里,我们讨论使用Python和Pillow在照片上添加水印的2种方法。在第一个示例中,我们仅向照片添加文本。仅在第二个示例中,我们才对图像进行了水印处理,但没有获得透明度。我们改进第二个示例代码以在第三个示例中获得透明性。

希望本文对读者有用。编码愉快!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200604A076IW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券