Using the Python Imaging Library (Pillow), you can easily create and add watermarks to images. Here's a step-by-step guide on how to do it:
If you haven't installed Pillow yet:
pip install pillow
Here's a script that demonstrates how to add a text watermark to an image:
from PIL import Image, ImageDraw, ImageFont def add_watermark(input_image_path, output_image_path, watermark_text): # Open the original image original_image = Image.open(input_image_path) width, height = original_image.size # Create a drawing context transparent = Image.new('RGBA', original_image.size, (255, 255, 255, 0)) drawing = ImageDraw.Draw(transparent) # Load a font font = ImageFont.truetype('arial.ttf', 30) # Choose your font and size # Position the watermark at the bottom right corner, with 10px margin text_width, text_height = drawing.textsize(watermark_text, font) x = width - text_width - 10 y = height - text_height - 10 # Add watermark text to the transparent image drawing.text((x, y), watermark_text, fill=(255, 255, 255, 255), font=font) # Blend the original image and the watermark watermarked_image = Image.alpha_composite(original_image.convert('RGBA'), transparent) # Save the result watermarked_image.save(output_image_path, "PNG") # Save as PNG to retain transparency # Example usage add_watermark('path_to_original.jpg', 'path_with_watermark.png', 'Your Watermark Here')
Some important notes:
The watermark is added as semi-transparent white text at the bottom right corner.
The code assumes the availability of the Arial font ('arial.ttf'). If you don't have this font or are running the script on a platform where Arial isn't available, you'll need to specify the path to another TrueType font file.
If you want the watermark to be less transparent, you can adjust the fill
parameter's fourth value (currently 255, which means fully opaque). For example, use fill=(255, 255, 255, 128)
for half transparency.
This example demonstrates adding a textual watermark. If you want to use an image as a watermark, the process is a bit different, but the idea is similar: you'll overlay the watermark image on the original, adjusting its transparency as desired.
exchangewebservices uikeyinput ansible-template jtableheader gmail tinymce chart.js2 electron-builder asp.net-3.5 azure-pipelines-release-pipeline