Member-only story

Watermarking in Python

Python Coding
2 min readSep 4, 2024

--

from PIL import Image, ImageDraw, ImageFont

def add_watermark(input_image_path, output_image_path, watermark_text):
original = Image.open(input_image_path).convert("RGBA")
txt = Image.new("RGBA", original.size, (255, 255, 255, 0))
font = ImageFont.truetype("arial.ttf", 40)
draw = ImageDraw.Draw(txt)
width, height = original.size
text_bbox = draw.textbbox((0, 0), watermark_text, font=font)
text_width = text_bbox[2] - text_bbox[0]
text_height = text_bbox[3] - text_bbox[1]
position = (width - text_width - 10, height - text_height - 10)
draw.text(position, watermark_text, fill=(255, 255, 255, 128), font=font)
watermarked = Image.alpha_composite(original, txt)
watermarked.show()
watermarked.convert("RGB").save(output_image_path, "JPEG")

add_watermark("cl.jpg", "cloutput.jpg", "clcoding.com")

Here’s a brief explanation of the code:

  1. Imports: Image, ImageDraw, and ImageFont are imported from the PIL library to handle image processing tasks.
  2. Function Definition: add_watermark function is defined to add a watermark to an image.
  3. Load Image: The original image is opened and converted to “RGBA” mode, which includes an alpha channel for transparency.
  4. Create Text Layer: A new transparent image (txt) is created with the same size as the original, serving as the…

--

--

Python Coding
Python Coding

Written by Python Coding

Learn python tips and tricks with code I Share your knowledge with us to help society. Python Quiz: https://www.clcoding.com/p/quiz-questions.html

No responses yet