Notas da equipe sobre ofício, formatos e as pequenas decisões por trás de um bom recorte redondo.
O contêiner sem perdas, o que o PNG guarda
O PNG se apoia no DEFLATE, um algoritmo sem perdas. Ele escreve os valores RGBA de cada pixel com exatidão, passa um filtro reversível por cada linha de varredura primeiro, e depois espreme o conjunto com um fluxo estilo zlib. Sem perdas aqui significa que os valores que você descomprime são, byte a byte, os que você botou. No caso JPG pra PNG, os valores que entram são os pixels que o navegador devolve depois de decodificar o JPEG, e esses já carregam toda aproximação que a codificação original do JPEG introduziu. Então o PNG registra obedientemente as aproximações, não a cena real que foi fotografada. Medido, um JPEG de 17 KB a 1024x768 chega perto de 105 KB como PNG, enquanto um JPEG de 116 KB a 3840x2160 alcança uns 384 KB. Os múltiplos acompanham a resolução em vez do ajuste de qualidade do JPEG, e é por isso que ficam mais ou menos estáveis entre conteúdos. O contêiner ganha o sustento estancando o declínio, não revertendo ele.
Por que a qualidade do JPEG não pode ser recuperada
O JPEG larga informação de vez. A compressão dele roda uma transformada de cosseno por blocos de 8x8, arredonda os coeficientes de frequência pra um conjunto mais grosso, e guarda esses números arredondados. Esse arredondamento só vai num sentido, então um coeficiente que marcava 47 antes de ser puxado pra 50 nunca pode ser empurrado de volta, e o arquivo não guarda lembrança nenhuma do 47. Decodificar o JPEG remonta os pixels a partir dos coeficientes arredondados, que são chutes dos originais. Embrulhe esses chutes em PNG e você tem uma cópia impecável de uma figura defeituosa. Nada disso é defeito do PNG ou da Araluma, é só como a compressão com perdas funciona, com qualquer coisa solta na hora da codificação ficando solta. O único caminho pra melhor qualidade de JPEG é voltar à origem sem compressão ou ao arquivo RAW.
Crescimento de tamanho de arquivo medido
Quanto um JPG incha no caminho pro PNG depende da figura, mas a tendência é firme. Fotografias movimentadas, com mudanças de tom ricas, crescem mais, porque é justo esse material que o JPEG comprime soberbamente enquanto o codificador sem perdas do PNG não acompanha em pixels tão ruidosos. Pelos testes da própria ferramenta, uma foto JPEG de 17 KB a 1024x768 vira um PNG de 105 KB, mais ou menos um salto de seis vezes, e uma foto JPEG de 116 KB a 3840x2160 vira um PNG de 384 KB, cerca de 3,3 vezes maior. Material plano como capturas de tela e ícones combina mal com o JPEG pra começar e tende a pesar mais ali, então o PNG dele cresce de forma menos brusca. A lição é clara, se uma saída menor é o que você persegue, virar um JPG em PNG te empurra pro lado errado.
Transparência, o recurso versus o conteúdo
O canal alfa de 8 bits do PNG é um recurso do contêiner, deixando cada pixel carregar uma opacidade de 0 pra totalmente limpo a 255 pra totalmente sólido. Quando um JPG é remontado como PNG pelo motor de imagem da plataforma, cada pixel sai a 255, totalmente opaco, porque o JPG não tinha transparência alguma pra passar adiante de início. O PNG fica de prontidão pra armazenar dados de alfa, o arquivo só não guarda nenhum, já que nenhum existia na origem. Botar transparência na imagem pede uma operação à parte, ou mascarar o fundo na mão num editor ou rodar um removedor de fundo automático. Um removedor afinado pra farejar o objeto pode entregar um PNG com alfa genuíno zerando a opacidade dos pixels de fundo depois da conversão.
Tratamento de metadados EXIF
Quando o arquivo é remontado, suas etiquetas EXIF, IPTC e XMP caem fora do PNG em todo navegador, levando junto coordenadas de GPS, o corpo da câmera, a data do clique, texto de direitos autorais, e qualquer XMP personalizado que o JPG segurava. Os perfis de cor divergem um pouco. Chrome e Safari mantêm a etiqueta sRGB no que sai, enquanto o Firefox deixa ela ir com todo o resto. Então o PNG fica seguro em sRGB onde quer que você abra, embora um perfil de gama ampla como Display-P3 ou Adobe RGB não dure passando pelo Firefox. Pra web e compartilhamento comuns, largar as etiquetas é um ganho, aparando um pouco de peso e tirando dados de localização das suas fotos. Pra trabalho profissional ou de arquivo que precisa segurar os metadados embutidos, cuide dessa cadeia com uma ferramenta dedicada antes ou depois de converter.
Privacidade e onde o trabalho cai
Onde o trabalho cai depende da quantidade. Com uma única imagem, nada sai do navegador, e dá pra checar ao vivo em segundos. Abra o DevTools do Chrome, vá ao painel de Rede, filtre por XHR e Fetch e converta um arquivo. Nada aparece enquanto a codificação roda. Com dois ou mais, o Araluma os envia ao nosso servidor, que converte, junta o resultado e devolve um link de download. Esse link e os arquivos convertidos são apagados em cerca de 2 horas. O caminho de imagem única mantém tudo no dispositivo, fora da rede, enquanto um lote troca isso por dar conta de muitos arquivos de uma só vez. Para a captura de algo privado ou uma foto marcada com a sua localização, converter uma por vez mantém tudo na sua máquina, uma diferença de verdade, não um slogan.