Cualquier mapa portátil

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 23 de febrero de 2020; la verificación requiere 1 edición .
mapa de píxeles portátil
Extensión .pnm[una]
tipo MIME image/x-portable-pixmap, -graymap, -bitmap, -anymap no son oficiales
Desarrollador Poscanzer, Jeff
Tipo de formato Formatos gráficos
 Archivos multimedia en Wikimedia Commons

Los sencillos formatos portátiles de almacenamiento de imágenes de mapas de píxeles (a veces denominados PNM ): color (PPM), escala de grises (PGM) y blanco y negro (PBM) definen las reglas para el intercambio de archivos gráficos. Estos formatos pueden proporcionar una representación intermedia de datos al convertir archivos gráficos de mapa de bits de los tres tipos enumerados entre diferentes plataformas. Algunas aplicaciones admiten estos tres formatos directamente definiéndolos como formato PNM (portable anymap). El formato PPM fue desarrollado por Jeff Poskanzer . 

Descripción del formato de archivo

Veamos un ejemplo de mapa de bits de la letra "J":

....X. ....X. ....X. ....X. ....X. ....X. X... X. .XXX.. ...... ......

El formato PBM representa este ejemplo de la siguiente forma:

P1 # Este es un archivo de mapa de bits de ejemplo j.pbm 6 10 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

La línea P1 define el formato de archivo. El signo de libra (#) separa el comentario. Los siguientes dos números son el ancho y la altura. Luego sigue una matriz de valores de píxeles (en el caso de una imagen monocromática, como en este ejemplo, solo ceros y unos).

Imagen resultante: . Aquí está, magnificado 20 veces:

Uso en Netpbm

El paquete Netpbm puede, por ejemplo, usar dos programas de conversión en sucesión para convertir este código en un archivo BMP :

pgmtoppm "#FFFFFF" j.pbm > j.ppm ppmtobmp j.ppm > j.bmp

Según el formato de archivo reconocido, el sistema de archivos de gráficos simples de pixmap portátil puede distinguir entre tres formatos de archivo similares, cada uno en dos versiones:

En cada caso, la versión inferior (P1, P2 o P3) se refiere a formatos basados ​​en ASCII legibles por humanos similares a los que se muestran en el ejemplo de este artículo. Y las versiones superiores (P4, P5 y P6) son formatos binarios menos analizables, pero más eficientes para ahorrar espacio en el archivo y más analizables debido a la falta de espacios.

Extensión de 16 bits

Inicialmente, los formatos binarios PGM y PPM (P5 y P6) admitían una profundidad de bits de no más de 8 bits. Por supuesto, era posible usar formatos ASCII, pero usarlos aumenta el tamaño y ralentiza la lectura de archivos. Como resultado, muchos desarrolladores han intentado ampliar el formato para que admita una mayor profundidad de bits. Al usar más profundidad, nos enfrentamos al problema del orden de los bytes (Endianness) en el archivo. Las diferentes aplicaciones no son consistentes en ningún endianness. Netpbm de facto usa el orden big-endian cuando trabaja con PNM . P6 3 3 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Ejemplo de PPM

P3 # P3 significa que los colores están en ASCII, # seguido de números que indican el número de columnas y filas (3 columnas y 2 filas), #255 para el valor de color máximo, # luego trillizos RGB 3 2 255 255 0 0 0 255 0 0 0 255 255 255 0 255 255 255 0 0 0

Imagen (ampliada):

El formato P6 para la misma imagen almacenará cada componente de color de un color en un byte (es decir, tres bytes por píxel). El archivo será más pequeño, pero la información de color al ver dicho archivo no será percibida directamente por una persona:

P6 #posible línea de comentario aquí 3 2 255 !@#$%^&*()_+|{}:"<

El formato PPM no está comprimido, por lo que los archivos que contiene son grandes. Por ejemplo, una imagen PNG de 192x128 puede tener un tamaño de 552 bytes. Después de convertirlo a PPM, el tamaño del archivo será de 73.848 bytes.

El formato PPM es lo suficientemente simple como para escribir código que pueda leer y escribir datos en este formato.

Véase también

Enlaces

  1. NOMBRE DE ARCHIVO // El formato PNM