import os from PIL import Image # 🟢 CONFIGURA AQUI PASTA_IMAGENS = r"images/convert" # troque pelo caminho da pasta QUALIDADE_JPEG = 85 # 80–90 costuma ser um bom equilíbrio def converter_png_para_jpeg(pasta): for nome_arquivo in os.listdir(pasta): if not nome_arquivo.lower().endswith(".png"): continue caminho_png = os.path.join(pasta, nome_arquivo) nome_base, _ = os.path.splitext(nome_arquivo) caminho_jpeg = os.path.join(pasta, nome_base + ".jpg") print(f"Convertendo: {caminho_png} -> {caminho_jpeg}") with Image.open(caminho_png) as img: # Garante que está em RGB (JPEG não suporta transparência) if img.mode in ("RGBA", "LA"): # Fundo branco; mude para (0, 0, 0) se quiser fundo preto fundo = Image.new("RGB", img.size, (255, 255, 255)) fundo.paste(img, mask=img.split()[-1]) # usa o canal alpha como máscara img = fundo else: img = img.convert("RGB") # Salva como JPEG img.save( caminho_jpeg, "JPEG", quality=QUALIDADE_JPEG, optimize=True, progressive=True, ) # ⚠️ Se quiser apagar o PNG depois de conferir que ficou ok, descomente: # os.remove(caminho_png) if __name__ == "__main__": converter_png_para_jpeg(PASTA_IMAGENS) print("Finalizado!")