Lihuen
RSSRSS AtomAtom

Diferencia entre revisiones de «Especificación de los archivos net-ppm»

 
Línea 3: Línea 3:
  
 
Si los primeros bytes son P1, P2 o P3, el formato es "legible" ''(human readable; quiere decir que el formato esta en ascii)'' y si los bytes son P4, P5 o P6, los datos están en formato binario.
 
Si los primeros bytes son P1, P2 o P3, el formato es "legible" ''(human readable; quiere decir que el formato esta en ascii)'' y si los bytes son P4, P5 o P6, los datos están en formato binario.
Para cualquiera de los formatos, cada linea que comience con # es un comentario y no forma parte de la imagen.  
+
Para cualquiera de los formatos, cada línea que comience con # es un comentario y no forma parte de la imagen.  
  
Lo que sigue al ''magic number'' y no es un comentario es una linea con 2 substrings separados por uno o más espacios indicando 2 números. El primero es el ancho y el segundo es el alto. Lo que sigue y no es un comentario, se clasifica según el tipo en:
+
Lo que sigue al ''magic number'' y no es un comentario es una línea con 2 substrings separados por uno o más espacios indicando 2 números. El primero es el ancho y el segundo es el alto. Lo que sigue y no es un comentario, se clasifica según el tipo en:
  
 
Si la imagen es de m * n pixels
 
Si la imagen es de m * n pixels
Línea 11: Línea 11:
 
Magic Number: 0x5031
 
Magic Number: 0x5031
  
P1: m * n bytes, representando ceros o unos ascii, agrupados en lineas de 70 bytes. Los ceros indican un pixel negro y un uno, uno blanco.
+
P1: m * n bytes, representando ceros o unos ascii, agrupados en líneas de 70 bytes. Los ceros indican un pixel negro y un uno, uno blanco.
 
====P2====
 
====P2====
 
Magic Number: 0x5032
 
Magic Number: 0x5032
Línea 32: Línea 32:
  
 
P6: m * n * 3 bytes, indicando la cantidad de rojo, verde y azul de un pixel.
 
P6: m * n * 3 bytes, indicando la cantidad de rojo, verde y azul de un pixel.
Para los strings, pueden estar separados por uno o más espacios en blanco (ascii 0x20), tabs (ascii 0x09), CRs (ascii 0x0A), LFs (ascii 0x0D) y las lineas NO pueden tener más de 70 caracteres de largo.
+
Para los strings, pueden estar separados por uno o más espacios en blanco (ascii 0x20), tabs (ascii 0x09), CRs (ascii 0x0A), LFs (ascii 0x0D) y las líneas NO pueden tener más de 70 caracteres de largo.
 
[[Category:Cátedras]]
 
[[Category:Cátedras]]

Última revisión de 13:03 26 dic 2009

Cada archivo ppm empieza con dos bytes llamados magic numbers, que pueden ser P1, P2, P3, P4, P5 o P6.

Si los primeros bytes son P1, P2 o P3, el formato es "legible" (human readable; quiere decir que el formato esta en ascii) y si los bytes son P4, P5 o P6, los datos están en formato binario. Para cualquiera de los formatos, cada línea que comience con # es un comentario y no forma parte de la imagen.

Lo que sigue al magic number y no es un comentario es una línea con 2 substrings separados por uno o más espacios indicando 2 números. El primero es el ancho y el segundo es el alto. Lo que sigue y no es un comentario, se clasifica según el tipo en:

Si la imagen es de m * n pixels

P1

Magic Number: 0x5031

P1: m * n bytes, representando ceros o unos ascii, agrupados en líneas de 70 bytes. Los ceros indican un pixel negro y un uno, uno blanco.

P2

Magic Number: 0x5032

P2: m * n strings, representando números de 0 a 255 indicando para cada string, la intensidad de gris para ese pixel.

P3

Magic Number: 0x5033

P3: m * n * 3 strings, representando números de 0 a 255 indicando para cada string, la intensidad de color rojo, verde y azul respectivamente para ese pixel.

P4

Magic Number: 0x5034

P4: (m*n) / 8 bytes, indicando por cada bit, si el pixel es blanco o negro. (Si el valor del byte es 0xF0, los primeros 4 pixels serán blancos y los 4 siguientes, negros)

P5

Magic Number: 0x5035

P5: m * n bytes, indicando por cada uno, el nivel de gris del pixel.

P6

Magic Number: 0x5036

P6: m * n * 3 bytes, indicando la cantidad de rojo, verde y azul de un pixel. Para los strings, pueden estar separados por uno o más espacios en blanco (ascii 0x20), tabs (ascii 0x09), CRs (ascii 0x0A), LFs (ascii 0x0D) y las líneas NO pueden tener más de 70 caracteres de largo.