Perigo: Seus Arquivos de Imagem podem ser Destruídos por Padrão

Em edição de imagens, e quando lidamos com dados em geral, dizemos que um programa é destrutivo quando ele muda os dados originais permanentemente, e não-destrutivo quando ele deixa os dados originais intactos, modificando apenas uma cópia dos dados. Na maioria dos casos, isso não é um problema, mas quando se trata de imagens, há alguns programas que podem destruir suas imagens, suas fotos, suas ilustrações, sem nem dizer para você o que estão fazendo. Esses são geralmente editores de imagens, mas, surpreendentemente, até mesmo VISUALIZADORES de imagens podem destruir suas imagens. Nesse artigo aprenderemos por que e como.

Dois culpados importantes são aplicativos instalados por padrão no Windows: o Microsoft Paint (um editor de imagens) e Microsoft Photos (um visualizador de imagens).

Em Editores de Imagens

O primeiro problema ocorre quando abrir uma imagem em um editor de imagens, editando-a, e salvando as edições sobrescreve a imagem original. Isso significa que se você abrir uma image, recortá-la, e salvá-la, por exemplo, a imagem ficará permanentemente recortada. Você nunca será capaz de recortar uma outra parte da imagem, pois os dados do resto da imagem estarão perdidos para sempre.

Isso acontece se você abrir qualquer imagem no Microsoft Paint e clicar em Arquivo -> Salvar em vez de Arquivo -> Salvar como.... O arquivo de imagem será sobrescrito, e você perderá a imagem original para sempre. Se for uma imagem PNG, você poderá ser capaz de recuperá-la clicando em desfazer até todas suas edições serem desfeitas e salvando-a novamente, mas se o quê você abriu foi uma imagem JPG, então abrindo-a e salvando-a de novo, mesmo se você não editar nada nela, criará artefatos JPG devido a natureza de perda de dados do algoritmo de compreensão JPG.

Editores de imagens complexos como Photoshop, GIMP, e Krita possuem seus próprios formatos de arquivo de imagem (extensões .psd, .xct, e .kra, respectivamente) capazes de armazenar dados sobre as camadas e outras configurações específicas do programa que não poderiam ser salvos em formatos de imagem comuns como JPG (normalmente usado para armazenar fotos) ou PNG (para gráficos transparentes). Consequentemente, se você editar uma imagem em um desses, e tentar salvá-la, eles irão tipicamente salvar um novo arquivo em seu próprio formato em vez de sobrescrever o arquivo que você abriu para editar. Uma exceção ocorre quando você abre uma imagem e não adiciona nenhuma camada adicional, então o programa pode sobrescrever o arquivo JPG ou PNG original.

Em Visualizadores de Imagens

Uma situação mais surpreendente ocorre com visualizadores de imagens. Alguns visualizadores de imagens provêm a habilidade de girar a imagem por 90 graus. Normalmente você pensaria que isso seria uma operação não-destrutíva, afinal, tudo que você precisa fazer é pegar os dados da imagem original e simplesmente renderizá-la girada. Porém, visualizadores de imagens fazem algo completamente diferente e inesperado: eles mudam o arquivo de imagem quando você roda a imagem no visualizador! Mais especificamente, o formato de arquivo JPG inclui um cabeçalho que descreve a orientação da imagem JPG, que descreve se a imagem foi ou não girada por 90, 180, ou 270 graus. Se você mudar esse cabeçalho, então um programa que suporta esse cabeçalho irá exibir a imagem girada de acordo com o valor do cabeçalho. Há algumas coisas interessantes sobre isso.

Primeiro, mudar o cabeçalho de orientação não muda os dados dos pixels da imagem JPG. Isso significa que o arquivo JPG não é descomprimido em pixels e então comprimido de novo usando o codec JPG—o visualizador de imagens salva os mesmos dados comprimidos que ele abriu, só que com um cabeçalho diferente, o que significa que artefatos JPG não serão gerados só por mudar a orientação. Se você girar a imagem por 90 graus 4 vezes, você gira ela por 360 graus e deve acabar com exatamente o mesmo arquivo que havia no começo. Se você fizer isso em um editor de imagens, você acabaria com um arquivo um pouco diferente devido a artefatos JPG, mas já que o visualizador de imagens não recomprime os dados, esse problema não ocorre.

Segundo, nem todos os programas realmente suportam esse cabeçalho de orientação JPG. Se você percebeu que sua imagem JPG é girada em um programa mas não em outro programa, isso ocorre por que o arquivo JPG contém um cabeçalho de orientação e um dos programs não o suporta.

Terceiro, o motivo desse cabeçalho de orientação existir para começo de conversa é para que você possa tirar um foto com a camera girada para o lado e corrigir para orientação correta sem destrutivamente recomprimir os dados JPG. Ou seja, essa é na verdade uma função para edição não-destrutiva, já que não destrói os dados dos pixels, mas ainda sim é mais ou menos destrutiva já que muda a parte do cabeçalho do arquivo JPG.

Essa função é principalmente encontrada em visualizadores de imagens feito para ver fotos tiradas por cameras, que é o uso típico de uma visualizador de imagens. Se houvesse um visualizador de imagens criado para ver imagens que você baixou da Internet—tal como papéis de parede—ele provavelmente não mudaria o cabeçalho de orientação só para exibir a imagem girada na tela. Por exemplo, eu uso JPEGView no Windows, que é capaz de girar e virar imagens de ponta-cabeça , mas não muda o cabeçalho de orientação em arquivos JPG (o que é meio irônico considerando seu nome).

Vídeo (em Inglês)

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *