Python如何為圖片添加浮水印,

來源:互聯網
上載者:User

Python如何為圖片添加浮水印,

添加浮水印的主要目的是為了著作權保護,使自己的映像不被抄襲或者惡意轉載。網上有很多製作浮水印的工具,本帖介紹怎麼使用Python-Pillow庫給圖片添加浮水印。

使用ImageMagick添加圖片浮水印-Linux 添加文本浮水印

在圖片右下角添加文字:

from PILimport Image, ImageDraw, ImageFont # 指定要使用的字型和大小;/Library/Fonts/是macOS字型目錄;Linux的字型目錄是/usr/share/fonts/font = ImageFont.truetype('/Library/Fonts/Arial.ttf', 24) # image: 圖片  text:要添加的文本 font:字型def add_text_to_image(image, text, font=font):  rgba_image = image.convert('RGBA')  text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))  image_draw = ImageDraw.Draw(text_overlay)   text_size_x, text_size_y = image_draw.textsize(text, font=font)  # 設定文本文字位置  print(rgba_image)  text_xy = (rgba_image.size[0] - text_size_x, rgba_image.size[1] - text_size_y)  # 設定文本顏色和透明度  image_draw.text(text_xy, text, font=font, fill=(76, 234, 124, 180))   image_with_text = Image.alpha_composite(rgba_image, text_overlay)   return image_with_text im_before = Image.open("lena.jpg")im_before.show()im_after = add_text_to_image(im_before, 'WTF')im_after.show()# im.save('im_after.jpg')

添加圖片浮水印

fromPILimportImage, ImageDraw defadd_watermark_to_image(image, watermark):  rgba_image = image.convert('RGBA')  rgba_watermark = watermark.convert('RGBA')   image_x, image_y = rgba_image.size  watermark_x, watermark_y = rgba_watermark.size   # 縮放圖片  scale = 10  watermark_scale = max(image_x / (scale * watermark_x), image_y / (scale * watermark_y))  new_size = (int(watermark_x * watermark_scale), int(watermark_y * watermark_scale))  rgba_watermark = rgba_watermark.resize(new_size, resample=Image.ANTIALIAS)  # 透明度  rgba_watermark_mask = rgba_watermark.convert("L").point(lambda x: min(x, 180))  rgba_watermark.putalpha(rgba_watermark_mask)   watermark_x, watermark_y = rgba_watermark.size  # 浮水印位置  rgba_image.paste(rgba_watermark, (image_x - watermark_x, image_y - watermark_y), rgba_watermark_mask)   return rgba_image im_before = Image.open("lena.jpg")im_before.show() im_watermark = Image.open("watermark.jpg")im_after = add_watermark_to_image(im_before, im_watermark)im_after.show()# im.save('im_after.jpg')

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.