ImageLayer: Effortless Image Layering Tool
Introducing ImageLayer, your go-to Python-based tool for effortlessly layering images! Perfect for graphic designers, content creators, or anyone looking to create stunning layered compositions.
Key Features:
Get ImageLayer today and elevate your image layering experience with simplicity and efficiency!
import os
from tkinter import filedialog, simpledialog
from PIL import Image, ImageDraw
def select_images():
file_paths = filedialog.askopenfilenames(title="Select PNG images", filetypes=[("PNG files", "*.png")])
return file_paths
def get_background_color():
default_color = "#000000" # Default color is black
color = simpledialog.askstring("Background Color", "Enter the background color (in hex format, e.g., #RRGGBB)\n(Default is black):", initialvalue=default_color)
return tuple(int(color[i:i+2], 16) for i in (1, 3, 5)) if color else None
def layer_images(image_paths, background_color=None):
if not image_paths:
print("No images selected. Exiting...")
return
first_image = Image.open(image_paths[0])
resolution = first_image.size
layered_image = Image.new("RGBA", resolution, background_color) if background_color else Image.new("RGBA", resolution)
for image_path in image_paths:
img = Image.open(image_path)
layered_image.paste(img, (0, 0), img)
return layered_image
def save_layered_image(layered_image, output_dir):
output_path = os.path.join(output_dir, "layered_image.png")
layered_image.save(output_path)
print(f"Layered image saved at: {output_path}")
def main():
background_color = get_background_color()
image_paths = select_images()
if not image_paths:
print("No images selected. Exiting...")
return
output_dir = os.path.dirname(image_paths[0])
layered_image = layer_images(image_paths, background_color)
save_layered_image(layered_image, output_dir)
if __name__ == "__main__":
main()
For Bug Reports @mdshop on Discord.