O formato PNG

Agosto 2015

O formato PNG

O formato PNG (Portable Network Graphics, ou formato Ping) é um formato de ficheiro gráfico bitmap. Foi criado em 1995 para fornecer uma alternativa livre ao formato GIF, formato proprietário cujos direitos são detidos pela empresa Unisys (proprietária do algoritmo de compressão LZW), o que obriga cada editor de software que manipula este tipo de formato pagar-lhe direitos. Assim, o PNG é igualmente um acrónimo recorrente para PNG' s Not Gif.

Características do formato PNG

O formato PNG permite armazenar imagens a preto e branco (até 16 bits por pixéis de profundidade de codificação), em cores reais (True color, até 48 bits por pixéis de profundidade de codificação), bem como imagens indexadas, fazendo uso de uma paleta de 256 cores.

Além disso, suporta a transparência por camada alfa, ou seja, a possibilidade de definir 256 níveis de transparência, enquanto o formato GIF permite definir apenas uma só cor da paleta como transparente. Possui igualmente uma função de entrelaçamento que permite afixar a imagem progressivamente.

A compressão proposta por este formato é uma compressão sem perda (lossless compression) 5 a 25% melhor so que a compressão GIF.

Por último, o PNG integra informações sobre a gama da imagem, o que torna possível a correcção gama e permite uma independência no que diz respeito aos periféricos de afixação. Mecanismos de correcção de erros estão igualmente integrados no ficheiro, para garantir a sua integridade.

Estrutura de um ficheiro PNG


Um ficheiro PNG é constituído por uma assinatura, permitindo assinalar que se trata de um ficheiro PNG, seguidamente de uma série de elementos chamados chunks (o termo “segmentos” será utilizado seguidamente). A assinatura de um ficheiro PNG (em notação decimal) é a seguinte:

137 80 78 71 13 10 26 10

A mesma assinatura em notação hexadecimal é:
89 50 4E 47 0D 0A 1A 0A



Cada segmento (chunk) é composto por 4 partes:

  • A dimensão, um número inteiro não assinada de 4 bytes, descrevendo a dimensão do segmento
  • O tipo de segmento (chunk type): um código de 4 caracteres (4 bytes) compostos por caracteres ASCII alfanuméricos (TER- A-Z, a-z, 65 a 90 e 97 a 122) que permitem qualificar a natureza do segmento
  • Os dados do segmento (chunk data)
  • O CRC (cyclic redundancy check), um código corrector de 4 bytes que permitem verificar a integridade do segmento



Os segmentos podem estar presentes em qualquer ordem, mas devem começar pelo segmento de rubrica (IHDR chunk) e terminar pelo segmento de fim (IEND chunk)

Os principais segmentos (chamdos critical chunks) são:

  • IHDR Image header
  • PLTE Palette
  • IDAT Image data
  • IEND Image trailer



Os outros segmentos (chamados anciliary chunks) são os seguintes:

  • bKGD Background color
  • cHRM Primary chromaticities and white point
  • gAMA Image gamma
  • hIST Image histogram
  • pHYs Physical pixel dimensions
  • sBIT Significant bits
  • tEXt Textual data
  • tIME Image last-modification time
  • tRNS Transparency
  • zTXt Compressed textual data



Mais informações

Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
O-formato-png .pdf

Veja também


PNG format
PNG format
Formato PNG
Formato PNG
PNG-Format
PNG-Format
PNG - Format PNG
PNG - Format PNG
Il formato PNG
Il formato PNG
Este documento, intitulado « O formato PNG »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.