Capa03 / PI-Eugenio

0 stars 0 forks source link

Implement convert image function into model. #5

Closed Capa03 closed 6 days ago

Capa03 commented 2 weeks ago
from PIL import Image
from tkinter import Tk
from tkinter.filedialog import askopenfilename, asksaveasfilename

def save_image_to_32bit_bmp():
    """
    Abre um diálogo para selecionar a imagem de entrada, converte para BMP com
    dimensão 228x200 e profundidade de cor de 32 bits, e salva no local escolhido pelo usuário.
    """
    # Configura o root para o diálogo do tkinter
    root = Tk()
    root.withdraw()  # Oculta a janela principal do Tkinter

    # Abre o diálogo para selecionar a imagem de entrada
    input_image_path = askopenfilename(
        title="Selecione a imagem de entrada",
        filetypes=[("Image files", ".jpg;.jpeg;.png;.bmp;.tiff")]
    )

    if not input_image_path:
        print("Nenhuma imagem foi selecionada.")
        return

    # Abre o diálogo para escolher onde salvar a imagem de saída
    output_bmp_path = asksaveasfilename(
        title="Salvar imagem convertida como",
        defaultextension=".bmp",
        filetypes=[("Bitmap Image", ".bmp")]
    )

    if not output_bmp_path:
        print("Nenhum caminho de saída foi selecionado.")
        return

    # Processa a imagem para o formato desejado
    with Image.open(input_image_path) as img:
        # Redimensiona para 228x200
        img = img.resize((228, 200), Image.LANCZOS)

        # Converte para RGBA (32 bits: 8 bits para cada canal R, G, B, A)
        img = img.convert("RGBA")  # RGBA garante 32 bits de profundidade

        # Salva a imagem em formato BMP
        img.save(output_bmp_path, format="BMP")

    print(f"Imagem convertida e salva em: {output_bmp_path}")
Capa03 commented 2 weeks ago

This function should be called after the download function is triggered and before saving the image int the folder