PNG
PNG (Portable Network Graphics) é um formato de dados utilizado para imagens, que surgiu em 1996 como substituto para o formato GIF, devido ao facto de este último incluir algoritmos patenteados. Esse formato livre é recomendado pela W3C, suporta canal alfa, tem uma maior gama de profundidade de cores, alta compressão (regulável), além de outras características. Além disso, o formato PNG permite comprimir as imagens sem perda de qualidade e retirar o fundo de imagens com o uso do canal alfa. O canal alfa, diferentemente da transparência do GIF, é capaz de definir o nível de opacidade de cada pixel, adequando-se a qualquer fundo de um site ou apresentação, sem serrilhamento, algo que não se consegue com os outros formatos populares. Por isso é um formato válido para imagens que precisam manter 100% da qualidade para reuso. Pode ser usado na maioria dos programas de edição de imagens como o Adobe Fireworks (proprietário) e o GIMP (livre). Os arquivos PNG usam a extensão de arquivo História e desenvolvimentoA motivação para criar o formato PNG surgiu em 28 de dezembro de 1994, quando veio a público que o algoritmo de compressão de dados LZW, utilizado no GIF, havia sido patenteado pela Unisys. A patente exigia que todos softwares que suportassem GIF pagassem royalties. Essa patente levantou discussões entre usuários no Usenet, um desses usuários foi Thomas Boutell, que, em 4 de janeiro de 1995, abriu um tópico de discussão no Usenet no qual ele elaborou um plano de uma alternativa gratuita ao GIF. Muitos usuários ajudaram com propostas que mais tarde iria fazer parte do formato final. Oliver Fromme propôs o nome PING, que acabou se tornando PNG um acrônimo recursivo que significa PNG não é GIF, e também a extensão Havia também outros problemas com a GIF que tornaram a substituição desejável, como, por exemplo, a sua limitação a 256 cores num momento em que computadores com capacidade para exibir uma gama maior de cores tornavam-se comuns. Embora o GIF permita animações, foi decidido que o PNG deveria ser um formato estático de imagem. Um formato “companheiro” chamado Multiple-image Network Graphics (MNG) foi definido para animação. O MNG teve suporte moderado a softwares, mas não foi muito utilizado em navegadores e não houve uso entre os designers e desenvolvedores de site. Já em 2008, alguns programadores da Mozilla publicaram o formato Animated Portable Network Graphics (APNG) com objetivos semelhantes. APNG foi nativamente suportado em navegadores baseados em Gecko e Presto e também foi usado nas logo do Playstation Portable (PSP). Em 2017, navegadores baseados em Chromium adotou o suporte ao APNG. Em janeiro de 2020, Microsoft Edge tornou-se baseado em Chromium, levando consigo o suporte ao APNG. Com isso, agora todos os principais navegadores suportam o APNG.
FuncionamentoCabeçalho do arquivoO arquivo PNG começa com uma assinatura composta por uma assinatura de 8 bytes.[4]
Segmentos do arquivoApós o cabeçalho, há vários segmentos, cada segmento transmite determinadas informações sobre a imagem. Os segmentos se declaram como pontos críticos (critical) ou auxiliares (ancillary), e um programa, caso encontre um segmento auxiliar e não entenda, pode ignora-lo sem correr riscos. Essa estrutura baseada em segmentos foi criada para estender o formato PNG, mas, ainda assim, mantendo compatibilidade com versões mais antigas. Um bloco consiste em quatro partes: tamanho (4 bytes, big-endian ), tipo/nome do segmento (4 bytes), dados do segmento (bytes de comprimento) e CRC (código de redundância cíclica/soma de verificação; 4 bytes). O CRC é um CRC-32 de big-endian calculado sobre o tipo de segmento e os dados de segmento, mas não o tamanho. Os segmentos têm um nome de 4 letras que diferencia maiúsculas de minúsculas. O uso de maiúsculas ou minúsculas nesse nome fornece informações aos decodificadores sobre os segmentos que não são reconhecidas. Se a primeira letra for maiúscula indica que o segmento é essencial, caso contrário será auxiliar. Os segmentos essenciais são necessárias para ler o arquivo, se o decodificador encontrar uma seção essencial que não reconhece, deve abortar a leitura. Se a segunda letra for maiúscula, significa que o segmento é público na especificação ou no registro do segmento para fins especiais, caso contrário será privada (não padronizada). Esse uso de maiúsculas e minúsculas garante que nunca haja conflitos entre os segmentos públicos e privados. A terceira letra deve ser maiúscula para atender às especificações do PNG. Está reservada para expansão futura. A quarta letra indica se é seguro copiar o segmento caso não seja reconhecida, se estiver em minúsculas é seguro copiar o segmento independentemente da quantidade de modificação que o arquivo tenha sofrido, se estiver em maiúscula deve apenas ser copiado se não houver segmentos críticos que sofreram modificações. Segmentos essenciaisUm decodificador deve ser capaz de interpretar esses segmentos para ler e renderizar um arquivo PNG:
Ver também
Referências
Ligações externas |