From 2cb4802bb0c93bb36b524d6b94e8dcb034b0f54b Mon Sep 17 00:00:00 2001 From: hanshaoxiao <71498650+hanshaoxiao@users.noreply.github.com> Date: Sun, 19 Sep 2021 15:08:53 +0800 Subject: [PATCH] Update watermark.py --- projects/Image_watermark/watermark.py | 48 +++++++++++---------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/projects/Image_watermark/watermark.py b/projects/Image_watermark/watermark.py index 103e9214..7e329a77 100644 --- a/projects/Image_watermark/watermark.py +++ b/projects/Image_watermark/watermark.py @@ -1,46 +1,38 @@ import os from PIL import Image -from PIL import ImageFilter - - -def watermark_photo(input_image_path, output_image_path, watermark_image_path): +def watermark_photo(input_image_path,watermark_image_path,output_image_path): base_image = Image.open(input_image_path) - watermark = Image.open(watermark_image_path) + watermark = Image.open(watermark_image_path).convert("RGBA") # add watermark to your image position = base_image.size - - watermark.size - - newsize = int(position[0] * 8 / 100), int(position[0] * 8 / 100) - + newsize = (int(position[0]*8/100),int(position[0]*8/100)) + # print(position) watermark = watermark.resize(newsize) - # Blur If Needed - # watermark = watermark.filter(ImageFilter.BoxBlur(2)) - new_position = position[0] - newsize[0] - 20, position[1] - newsize[1] - 20 + # print(newsize) + # return watermark - transparent = Image.new(mode="RGBA", size=position, color=(0, 0, 0, 0)) - # Create a new transparent image - transparent.paste(base_image, (0, 0)) + new_position = position[0]-newsize[0]-20,position[1]-newsize[1]-20 + # create a new transparent image + transparent = Image.new(mode='RGBA',size=position,color=(0,0,0,0)) # paste the original image - - transparent.paste(watermark, new_position, mask=watermark) + transparent.paste(base_image,(0,0)) # paste the watermark image + transparent.paste(watermark,new_position,watermark) image_mode = base_image.mode - if image_mode == "RGB": + print(image_mode) + if image_mode == 'RGB': transparent = transparent.convert(image_mode) else: - transparent = transparent.convert("P") - transparent.save(output_image_path, optimize=True, quality=100) - print("Saving " + output_image_path + " ...") - - -folder = input("Enter Folder Path : ") - -watermark = input("Enter Watermark Path : ") + transparent = transparent.convert('P') + transparent.save(output_image_path,optimize=True,quality=100) + print("Saving"+output_image_path+"...") +folder = input("Enter Folder Path:") +watermark = input("Enter Watermark Path:") os.chdir(folder) files = os.listdir(os.getcwd()) +print(files) if not os.path.isdir("output"): os.mkdir("output") @@ -49,5 +41,5 @@ def watermark_photo(input_image_path, output_image_path, watermark_image_path): for f in files: if os.path.isfile(os.path.abspath(f)): if f.endswith(".png") or f.endswith(".jpg"): - watermark_photo(f, "output/" + f, watermark) + watermark_photo(f,watermark,"output/"+f)