Porquê fotografias de iPhone não abrem em qualquer lugar

Desde o iOS 11, a aplicação Câmara de um iPhone guarda as fotografias como HEIC por defeito — um formato construído com base numa codificação de imagem mais eficiente do que o JPEG, de modo que a mesma fotografia ocupe notavelmente menos espaço no aparelho. Essa eficiência é uma grande vantagem para o armazenamento. E é o único motivo pelo qual uma fotografia HEIC frequentemente não abre fora das próprias aplicações da Apple: a maior parte do software e dos sites que aceitam upload de fotografias não foi feita para o descodificar.

A solução mais comum é enviar a fotografia para si mesmo por e-mail ou mensagem, o que discretamente a converte para JPEG ao longo do caminho — uma versão não oficial exatamente do que esta ferramenta faz diretamente, sem a necessidade de outra aplicação no meio.

O que realmente acontece durante a conversão

O HEIC e o JPEG codificam uma imagem de formas genuinamente diferentes, portanto transformar uma na outra significa descodificar a imagem HEIC em píxeis brutos de maneira completa e depois recodificar esses píxeis para o formato desejado. Essa descodificação corre por meio de uma construção em WebAssembly da libheif — o mesmo descodificador de código aberto no qual todo e qualquer conversor HEIC «sem upload» baseado em navegador se constrói, uma vez que não existe uma maneira de ler um HEIC num navegador sem fazer uma chamada a um servidor ou ter esse descodificador executado localmente.

Nada sobre o ficheiro é enviado a lugar algum para fazer isto funcionar. A fotografia é lida usando a própria API de ficheiros do navegador, descodificada por esse módulo em WebAssembly dentro deste mesmo separador, e entregue a si na forma de transferência.

Escolher entre JPG e PNG

JPG é a melhor escolha padrão para quase toda a gente — um ficheiro menor e capaz de ser lido por essencialmente qualquer tipo de software ou formulário de envio existente. O controlo de qualidade permite que balize o tamanho do ficheiro com o nível de detalhe; a definição padrão equivale mais ou menos ao nível de exportação usado no JPG pelo próprio iPhone.

PNG é sem perdas (lossless): não há definição de qualidade, porque não se abdica de nada. A saída é exatamente, píxel por píxel, a mesma imagem produzida pelo descodificador, com o custo de gerar um ficheiro significativamente maior. Vale a pena para imagens em estilo de captura de ecrã ou que possuam bordas acentuadas e cores uniformes; mas geralmente é exagero no caso de uma fotografia comum.

O que esta ferramenta não faz

Ela converte uma fotografia estática — não os poucos segundos de movimento de uma Live Photo, a qual o iPhone armazena em frames separados mas dentro do mesmo contentor HEIC. Caso o movimento seja o que importa para si, primeiro exporte a Live Photo como um vídeo direto no menu de partilha do telemóvel.

Um efeito colateral que vale a pena conhecer: os metadados não acompanham a fotografia nova

As fotografias HEIC, assim como as em JPEG, trazem consigo um bloco de metadados anexado à imagem — modelo e marca da câmara, o momento exato do registo, e se os serviços de localização estavam ligados, também vêm as coordenadas em GPS de onde ela foi tirada. Nada disso fica visível pela própria imagem.

Fazer a conversão através desta ferramenta descodifica a imagem HEIC para os píxeis brutos e então recodifica esses píxeis gerando um novo ficheiro JPG ou PNG. Esse processo em momento algum lê ou leva em diante os metadados do ficheiro original — apenas interage com a imagem em si — para que o ficheiro obtido na sua transferência não tenha qualquer traço dos registos embutidos pelo HEIC. Essa não é um passo extra de limpeza adicionado de forma deliberada; e sim uma decorrência natural de se descodificar e recodificar uma imagem completamente do zero. Caso possua outras imagens — JPEGs ou PNGs que nunca precisaram de ser convertidas — e que ainda possuam esse tipo de carga de metadados, o nosso removedor de EXIF gratuito mostrar-lhe-á o que há nelas e limpará esses traços, também a correr apenas no separador do seu navegador.

Uma fotografia que qualquer sistema abra é mais útil. Uma fotografia que não revela passivamente onde esteve é mais segura. Esta ferramenta acaba por lhe entregar os dois na mesma conversão. Nenhum dos dois é exatamente o papel que o Vaultine faz — o Vaultine é onde tranca ficheiros e os mantém em segredo, e não para onde vai caso queira convertê-los — mas todas as ferramentas existem pelo mesmo motivo: que as suas fotografias se comportem conforme as suas expectativas e sob os seus próprios termos.