from PIL import Image
import os

def scale_image(input_folder, output_folder, scale_factor):
    # Crear la carpeta de salida si no existe
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # Recorrer todas las imágenes de la carpeta de entrada
    for filename in os.listdir(input_folder):
        if filename.endswith((".png", ".jpg", ".jpeg")):  # Ajustar según los formatos necesarios
            img_path = os.path.join(input_folder, filename)
            img = Image.open(img_path)

            # Calcular nuevo tamaño basado en el factor de escala
            new_size = (int(img.width * scale_factor), int(img.height * scale_factor))

            # Redimensionar la imagen usando el método "Nearest" (mantiene la nitidez de los píxeles)
            scaled_img = img.resize(new_size, Image.NEAREST)

            # Guardar la imagen en la carpeta de salida con el mismo nombre
            output_path = os.path.join(output_folder, filename)
            scaled_img.save(output_path)
            print(f"Imagen redimensionada guardada en: {output_path}")

# Ruta de la carpeta de imágenes a escalar y la carpeta de salida
input_folder = r"D:\Github\Test-Cuantico\Graphics\Pokemon\Future additions\CON_NOMBRES\FrontTest"
output_folder = r"D:\Github\Test-Cuantico\Graphics\Pokemon\Future additions\CON_NOMBRES\Front"

scale_factor = 0.5  # Cambia el factor de escala según tus necesidades (ej. 2x, 3x, etc.)

# Llamada a la función
scale_image(input_folder, output_folder, scale_factor)
