Portable Network Graphics

PNG (Portable Network Graphics) é un formato gráfico baseado nun algoritmo de compresión sen perda para bitmaps non suxeito a patentes. Este formato foi desenvolvido en boa parte para liquidar as deficiencias do formato GIF e permite almacenar imaxes cunha maior profundidade de cor e outros importantes datos. Soporta unha paleta de cores de 16 bits, varios niveis de transparencia e emprega compresión sen perda mediante o formato ZIP. É un estándar recomendado polo W3C e recoñecido como estándar ISO (ISO/IEC 15948:2003).

 Historia e desenvolvemento 
As motivacións para crear o formato PNG xeráronse en 1995, despois de que Unisys anunciase que faría cumprir a patente de software do algoritmo de compresión de datos LZW utilizado polo GIF (patente dos Estados Unidos 4.558.302 e outras ao redor do globo). Había outros problemas co formato GIF que facían desexable un cambio, por exemplo a súa limitación a paletas de 8 bits de 256 cores como máximo, cando os computadores xa soportaban miles ou millóns de cores.

Orixinalmente PNG era un acrónimo recursivo que significaba PNG non é GIF (PNG's Not GIF).

Aínda que o GIF soporta animación, o PNG desenvolveuse como un formato de imaxe estático e creouse o formato MNG como a súa variante animada.

O PNG gañou maior popularidade en agosto de 1999 cando Unisys puxo fin á súa política de licenzas de patente libres de dereitos para os desenvolvedores de software libre ou non comercial.

 Versións 
 A versión 1.0 de PNG foi lanzada o 1 de xullo de 1996 e despois apareceu como RFC 2083. Rapidamente converteuse nunha recomendación W3C o 1 de outubro de 1996
 Versión 1.1 con algúns pequenos cambios e con 3 novas extensións ou "chunks" foi liberada o 31 de decembro de 1998
 Versión 1.2. Nova extensión. Liberada o 11 de agosto de 1999
 Actualmente PNG é un estándar internacional (ISO/IEC 15948:2003), tamén recomendado pola W3C o 10 de novembro de 2003.
 O estándar a partir de 2004 é (ISO/IEC 15948:/2004)

 Detalles técnicos 

 Cabeceira do ficheiro 
Un arquivo PNG empeza cunha firma de 8 bytes, os valores en hexadecimal son: 89 50 4E 47 0D 0A 1A 0A.

Byte(s)Propósito89Ten o bit máis alto posto a 1 para detectar sistemas de transmisión que non soportan datos de 8 bits e para reducir o risco de que un ficheiro de texto sexa erroneamente interpretado como PNG.50 4E 47En ASCII, as letras "PNG" permitindo que unha persoa identifique o formato en caso de velo nun editor de texto.0D 0AUnha nova liña con estilo DOS (CRLF) para detectar as conversións de final de liña entre DOS e UNIX.1AUn byte que detén o despliegue do ficheiro baixo DOS cando se usa o comando TYPE.0AUnha nova liñaa en UNIX (LF) para detectar a conversión de final de liña entre DOS e UNIX.

 Segmentos do ficheiro 

Logo da cabeceira atopamos unha serie de segmentos dos cales cada un garda certa información acerca da imaxe. Os segmentos se autodeclaran como críticos (critical) ou auxiliares (auxiliary) de modo que un programa que atope un segmento auxiliar e non o entenda pode ignoralo sen perigo. A estrutura baseada en segmentos está deseñada para poder ampliar o formato PNG mantendo a compatibilidade con versións antigas.

 Seccións esenciais 

Un decodificador debe ser capaz de entender estas seccións para ler e renderizar un PNG:

 IHDR: debe ser a primeira sección, contén a cabeceira.
 PLTE: contén a paleta de cores.
 IDAT: contén a imaxe que debe ser dividida en múltiples seccións IDAT.
 IEND: marca o final da imaxe.

 Seccións de metadatos 

Outros atributos que poden ser almacenados nun PNG inclúen valores de corrección gamma, cor de fondo e metadatos. PNG además tamén emprega a corrección de cor que usan os sistemas de administración de cor coma o sRGB.

 Transparencia na imaxe 

PNG ofrece unha gran variedade de opcións de transparencia. Con cor verdadeira ou escala de grises, incluso un só píxel pode ser declarado transparente ou pode engadirse unha canle alfa. Para imaxes que usan paletas pódese engadir unha canle alfa nas entradas da paleta.

 Véxase tamén 
 Ligazóns externas 
 PNG (Portable Network Graphics) Home Site

Categoría:Formatos gráficos