O código gera uma interface amigável ao usuário que possibilita a compressão e conversão de imagens dos formatos PNG e JPG. As principais bibliotecas utilizadas foram a Pillow, para o tratamento de imagem, e Tkinter, para construção da interface. A versão do Python utilizada no desenvolvimento foi a 3.9.4.
O programa possui uma classe chamada Interface que possui os seguintes métodos:
- init: chamada os outros métodos da classe numa ordem lógica para o funcionamento do programa.
- configureWindow: responsável por definir as características da janela do programa, tais como largura e altura.
- configureTemplate: faz a configuração da interface em si, exibindo os botões e labels.
- configureModeFrames: encarregado de configurar os Frames que contém os widgets necessários para a compressão e a conversão de imagens.
- changeMode: está ligado a um botão e alterna entre os Frames (que contém os widgets necessários para compressão e conversão de imagens) que serão exibidos na janela.
- start: responsável por identificar se o usuário escolheu o modo de conversão ou compressão de imagens e chamar as respectivas funções.
- setInputPath: abre uma janela para seleção do diretório das imagens.
- setOutputpath: abre uma janela para seleção do diretório de saída das imagens processadas.
getFileFormat: helper que retorna a extensão da imagem identificada no parâmetro passado.
compress: responsável por fazer a compressão das imagens de fato.
convert: encarregado de fazer a conversão das imagens para outro formato.