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 | + | 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 | + | 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 | + | 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 | + | 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]] |
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
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.
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.
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.
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)
Magic Number: 0x5035
P5: m * n bytes, indicando por cada uno, el nivel de gris del pixel.
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.