Como Converter Imagens AVIF para PNG Usando Python

O formato AVIF está ganhando popularidade por ser uma opção eficiente para compressão de imagens, oferecendo alta qualidade com tamanhos de arquivo menores. No entanto, nem todos os sistemas e plataformas suportam AVIF. Neste tutorial, você aprenderá como usar Python para converter todas as imagens AVIF de uma pasta para o formato PNG, que é amplamente compatível.



O Que é AVIF?

AVIF (AV1 Image File Format) é um formato de imagem baseado no codec AV1, desenvolvido para oferecer melhor compressão sem perder a qualidade da imagem. Comparado com formatos como JPEG ou PNG, o AVIF pode alcançar tamanhos de arquivo menores, mantendo uma alta fidelidade visual. Isso faz dele uma excelente escolha para sites e aplicativos que precisam carregar imagens rapidamente, economizando largura de banda.

Passo a Passo para Converter AVIF para PNG com Python

Abaixo está o código para converter automaticamente todas as imagens AVIF em uma pasta para PNG:

from PIL import Image
import os
import pillow_avif  # Adiciona suporte ao formato AVIF

# Função para converter todas as imagens AVIF na pasta raiz para PNG
def converter_todas_avif_para_png(pasta_raiz):
    # Percorre todos os arquivos na pasta raiz
    for arquivo in os.listdir(pasta_raiz):
        if arquivo.endswith(".avif"):
            caminho_avif = os.path.join(pasta_raiz, arquivo)
            nome_arquivo_png = os.path.splitext(arquivo)[0] + ".png"
            caminho_png = os.path.join(pasta_raiz, nome_arquivo_png)
            
            try:
                # Abre a imagem AVIF
                imagem = Image.open(caminho_avif)
                # Salva a imagem em PNG
                imagem.save(caminho_png, 'PNG')
                print(f"Imagem convertida com sucesso: {caminho_png}")
            except Exception as e:
                print(f"Erro ao converter {arquivo}: {e}")

# Exemplo de uso
pasta_raiz = r'C:\Users\Win\Documents\Agencia\traineaAI\webp'  # Substitua pelo caminho da pasta raiz onde estão as imagens AVIF
converter_todas_avif_para_png(pasta_raiz)

Explicação do Código

  • Bibliotecas Utilizadas: Estamos usando PIL para manipulação de imagens, os para navegar pelos diretórios e pillow_avif para adicionar suporte ao formato AVIF.
  • Função converter_todas_avif_para_png: A função percorre todos os arquivos em uma pasta e converte aqueles com a extensão .avif para o formato .png.
  • Bloco try-except: Esse bloco garante que, se houver um erro ao abrir ou salvar uma imagem, o programa não será interrompido e exibirá uma mensagem de erro amigável.
  • Caminho de Pasta: Você deve ajustar o caminho pasta_raiz para a pasta onde suas imagens AVIF estão armazenadas.

Vantagens do AVIF

Com o aumento da necessidade de imagens otimizadas para a web, o AVIF é uma excelente escolha para desenvolvedores e designers que querem equilibrar qualidade visual e performance. Converter para PNG pode ser útil quando você precisa de compatibilidade com sistemas que ainda não suportam AVIF.

Experimente essa solução e compartilhe os resultados!

Postar um comentário

0 Comentários