diff --git a/README.md b/README.md index c9da4d2..12abee5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,12 @@ -# Image_watermark +# Image-Watermark +Этот проект возьмет изображение и добавит к нему желаемый водяной знак. + +Этот проект использует модуль PIL и модуль OS для добавления водяного знака. PIL (Python Imaging Library) — это библиотека с открытым исходным кодом, которая позволяет пользователям добавлять, манипулировать и сохранять различные форматы файлов. + +``` +python3 watermark.py [image_path] +``` + +Замените его изображением, к которому вы хотите добавить водяной знак.[image_path] +На выходе получится изображение с нужным водяным знаком. \ No newline at end of file diff --git a/watermark.py b/watermark.py new file mode 100644 index 0000000..e9e73f0 --- /dev/null +++ b/watermark.py @@ -0,0 +1,44 @@ +import os +from PIL import Image + +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).convert("RGBA") + # add watermark to your image + position = base_image.size + newsize = (int(position[0]*8/100),int(position[0]*8/100)) + # print(position) + watermark = watermark.resize(newsize) + # print(newsize) + # return watermark + + 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(base_image,(0,0)) + # paste the watermark image + transparent.paste(watermark,new_position,watermark) + image_mode = base_image.mode + 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:") +os.chdir(folder) +files = os.listdir(os.getcwd()) +print(files) + +if not os.path.isdir("output"): + os.mkdir("output") + +c = 1 +for f in files: + if os.path.isfile(os.path.abspath(f)): + if f.endswith(".png") or f.endswith(".jpg"): + watermark_photo(f,watermark,"output/"+f) \ No newline at end of file