Portable anymap

Portable anymap
Portable pixmap
Расширение

.ppm, .pgm, .pbm, .pnm

MIME

image/x-portable-pixmap, -graymap, -bitmap, -anymap все неофициальные

Разработан

Джеф Посканзер

Тип формата

Графические форматы

Простые форматы хранения изображений portable pixmap (иногда определяемые, как PNM): цветных (PPM), полутоновых (PGM) и чёрно-белых (PBM) определяют правила для обмена графическими файлами. Эти форматы могут обеспечивать промежуточное представление данных при конвертации растровых графических файлов трёх перечисленных типов между разными платформами. Некоторые приложения поддерживают эти три формата напрямую, определяя их, как формат PNM (portable anymap). Формат PPM был разработан Джефом Посканзером (англ. Jeff Poskanzer).

Содержание

Описание формата файла

Разберём пример битового изображения буквы «J» :

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

Формат PBM представляет этот пример в следующем виде:

P1
# This is an example bit map file 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

Строка P1 определяет формат файла. Знак рёшетки (#) отделяет комментарий . Следующие два числа задают ширину и высоту. Затем следует матрица значений пикселов (в случае монохромного изображения, как в этом примере, — только нули и единицы).

Результирующее изображение: Example of ASCII-art turned into a bitmap.pbm.png. Оно же, увеличенное в 20 раз:

Example of ASCII-art turned into a bitmap.pbm.png

Использование в Netpbm

Пакет Netpbm может, например, использовать последовательно две программы конвертации для превращения этого кода в файл BMP:

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

В зависимости от распознанного формата файла, система простых графических файлов portable pixmap может различать три сходных формата файлов, каждый в двух версиях:

  • PBM — чёрно-белый (portable bitmap) (P1/P4) — 1 бит на пиксел
  • PGM — полутоновый (portable graymap) (P2/P5) — 8 бит на пиксел
  • PPM — цветной (portable pixmap) (P3/P6) — 24 бит на пиксел, 8 на красный, 8 на зеленый, 8 на синий

В каждом случае нижняя версия (P1, P2 или P3) относятся к удобочитаемым, основанным на ASCII форматам, сходным с показанным на примере в этой статье. А верхние версии (P4, P5 и P6) относятся к бинарным форматам, менее удобным для разбора, но более эффективным для экономии места в файле и более удобным для разбора из-за отсутствия пробелов.

Если вы ищете возможность конвертации файлов PDF в растровые форматы, Xpdf предоставляет такую возможность. Это свободно распространяемый инструмент pdftoppm. Используя его, можно экспортировать файлы PDF в рисунки формата PPM.

16-битное расширение

Изначально бинарные форматы PGM и PPM (P5 и P6) поддерживали битовую глубину не более 8 бит. Конечно, можно было использовать форматы ASCII, но при их использовании увеличивается размер и замедляется чтение файлов. В результате многие разработчики пытались расширить формат для поддержки большей битовой глубины. При использовании большей глубины, мы сталкиваемся с проблемой порядка байтов (Endianness) в файле. Различные приложения не согласованы в каком-либо одном следовании порядка байтов (Endianness). Netpbm при работе с PNM de facto использует порядок от старшего к младшему (big-endian).

Пример PPM

P3
# P3 обозначает, что цвета даны в ascii, 
# затем идут цифры, обозначающие число колонок и рядов (3 колонки и 2 ряда), 
# 255 для максимального значения цвета, 
# затем триплеты RGB 
3 2
255
255 0 0
0 255 0
0 0 255
255 255 0
255 255 255
0 0 0

Изображение (увеличено): Tiny6pixel.png

Формат P6 для этого же изображения будет хранить цвет в одном байте. Файл будет меньше, но информация о цвете не будет восприниматься человеком:

P6
#тут возможна строка комментариев
3 2
255
!@#$%^&*()_+|{}:"<

Формат PPM не является сжатым, и поэтому файлы в нем имеет большие размеры. Например, 192×128 PNG изображение может иметь размер 552 байта. После конвертации в 192×128 PPM изображение, размер файла составит 73848 байт.

Формат PPM достаточно прост для самостоятельного написания кода, который сможет читать и записывать данные в этом формате.

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Portable anymap" в других словарях:

  • Portable anymap — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • Portable bitmap — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • Portable graymap — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • Portable pixmap — Extension .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique Origine de XPM …   Wikipédia en Français

  • Netpbm format — Portable pixmap Filename extension .ppm, .pgm, .pbm, .pnm Internet media type image/x portable pixmap, graymap, bitmap, anymap all unofficial Developed by Jef Poskanzer Type of format Image file formats …   Wikipedia

  • .pbm — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • .pgm — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • .pnm — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • .ppm — Portable pixmap Portable pixmap Extension de fichier .ppm, .pgm, .pbm, .pnm Type MIME image/x portable pixmap, graymap, bitmap, anymap all unofficial Développé par Jef Poskanzer Type de format Format de fichier graphique …   Wikipédia en Français

  • Список расширений имени файла/P — / * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Примечание: Поскольку расширение имени файла может быть любым, представленный список не является полным …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»