Spaces:
Sleeping
Sleeping
from PIL import Image, ImageDraw, ImageFont | |
import utilities as u | |
# Function to initialize image canvas | |
# Function to scale the seed image | |
# Paste seed image onto blank canvas at specific location | |
# Paste the selected border on top | |
# Save and return | |
# Function that takes in an image url and a dictionary and uses the values to print onto a card. | |
# Seed Image starting x,y | |
seed_x = 56 | |
seed_y = 128 | |
seed_width = 657 | |
seed_height = 422 | |
def paste_image_and_resize(base_image,sticker, x_position, y_position,img_width, img_height): | |
# Load the image to paste | |
# image_to_paste = Image.open(sticker_path) | |
# Define the new size (scale) for the image you're pasting | |
new_size = (img_width, img_height) | |
# Resize the image to the new size | |
sticker = sticker.resize(new_size) | |
# Specify the top-left corner where the resized image will be pasted | |
paste_position = (x_position, y_position) # Replace x and y with the coordinates | |
# Paste the resized image onto the base image | |
base_image.paste(sticker, paste_position) | |
return base_image | |
def build_card_template(selected_border, selected_seed_image): | |
print(selected_seed_image) | |
print(type(selected_seed_image)) | |
selected_border = u.open_image_from_url(selected_border) | |
if type(selected_seed_image) == str: | |
print(f"String : {selected_seed_image}") | |
selected_seed_image = u.open_image_from_url(selected_seed_image) | |
mask = selected_border.split()[3] | |
image_list = [] | |
# Image size parameters | |
width = 768 | |
height = 1024 | |
# Set canvas as transparent | |
background_color = (0,0,0,0) | |
#initialize canvas | |
canvas = Image.new('RGB', (width, height), background_color) | |
canvas = paste_image_and_resize(canvas, selected_seed_image,seed_x,seed_y, seed_width, seed_height) | |
canvas.paste(selected_border,(0,0), mask = mask) | |
image_list.append(canvas) | |
return image_list | |