Что такое PPM: формат, который можно открыть в Блокноте
Большинство форматов картинок — это запертый сундук: внутри байты, которые расшифрует только специальная программа. PPM устроен наоборот. Это, пожалуй, самый честный и простой формат изображения в мире: его заголовок можно прочитать глазами, а саму картинку — собрать вручную. Разбираемся, как такое возможно и почему этот «динозавр» из 1980-х до сих пор жив.
Что такое PPM простыми словами
PPM (Portable Pixmap) — это цветной растровый формат изображения из семейства Netpbm. «Растровый» значит, что картинка собрана из пикселей, как мозаика. А ключевое слово здесь — portable, «переносимый»: формат специально придуман так, чтобы файл без проблем путешествовал между любыми компьютерами и операционными системами.
Главная особенность PPM — его обезоруживающая простота. Внутри нет ни сжатия, ни хитрых структур, ни специальных проверок — только заголовок и сами пиксели. Файл состоит из двух частей: короткого текстового заголовка, где написаны размеры картинки, и данных пикселей — просто перечисления, какого цвета каждая точка. Всё. Если PNG и JPG — это упакованные чемоданы, то PPM — это вещи, разложенные на столе по порядку.
Коротко
PPM — самый прямолинейный способ хранить цветную картинку: заголовок плюс значения красного, зелёного и синего для каждого пикселя. Просто читать, просто писать — но никакой экономии места.
Откуда взялся формат и зачем
История PPM начинается с очень житейской проблемы. В середине 1980-х программист Джеф Поскансер (Jef Poskanzer) хотел пересылать картинки по электронной почте. Беда в том, что почта тех лет надёжно передавала только обычный текст — буквы и цифры, а всё остальное (так называемые «двоичные» данные, понятные лишь компьютеру) по дороге портилось. Изображение приходило битым.
Решение оказалось гениально простым: а давайте опишем картинку обычными текстовыми символами, которые почта точно не испортит. Так родился формат PBM (для чёрно-белых картинок). К концу 1988 года Поскансер добавил к нему PGM (оттенки серого) и PPM (полный цвет) и выпустил их в составе набора утилит Pbmplus. Позже, в 1993 году, на смену пришла библиотека Netpbm, которая жива и развивается до сих пор.
То есть PPM изначально создавался не ради качества или размера, а ради надёжности и простоты. И эта философия — «понятный формат, который прочитает кто угодно» — сделала его бессмертным в мире программирования.
Как устроен файл PPM внутри
Любой PPM начинается с «магического числа» — двух символов, которые сообщают программе, что именно перед ней. Для PPM это P3 или P6. Дальше идёт остальной заголовок, и порядок всегда один и тот же:
Заголовок состоит из четырёх вещей, разделённых пробелами или переносами строки:
- Магическое число —
P3илиP6. - Ширина картинки в пикселях.
- Высота картинки в пикселях.
- Maxval — максимальное значение цвета (обычно 255). Оно говорит, что «255» — это полная яркость канала.
Сразу после maxval идёт один пробельный символ — и начинаются данные пикселей. Каждый пиксель описывается тройкой чисел: сколько в нём красного (R), зелёного (G) и синего (B). Из этих трёх компонентов и складывается любой цвет.
Собираем картинку руками: живой пример
Лучший способ понять PPM — увидеть его целиком. Вот полноценная картинка размером 3×2 пикселя в текстовом варианте P3. Её можно набрать в Блокноте, сохранить как .ppm — и это будет настоящее изображение:
P3
# Это комментарий: картинка 3x2 пикселя
3 2
255
255 0 0 0 255 0 0 0 255
255 255 0 255 255 255 0 0 0
Прочитаем её как программа. Заголовок говорит: формат P3, размер 3 на 2, максимум цвета 255. Дальше — шесть пикселей (по три числа на каждый). Верхний ряд: красный (255,0,0), зелёный (0,255,0), синий (0,0,255). Нижний ряд: жёлтый (255,255,0), белый (255,255,255) и чёрный (0,0,0). Вот и вся «магия».
Строки, начинающиеся с #, — это комментарии
В текстовом PPM можно оставлять заметки прямо внутри файла после символа #. Программа их игнорирует, а человеку удобно. Ещё одно проявление главной идеи формата: он рассчитан на то, что его будут читать люди.
Почему PPM не сжимает и весит много
У простоты есть цена. PPM не использует сжатие вообще: каждый пиксель занимает свои байты целиком. В сжатом по записи варианте (его помечают кодом P6) один цветной пиксель занимает ровно три байта — по одному на красный, зелёный и синий. Несложно посчитать: фотография 4000×3000 пикселей займёт около 36 мегабайт. Та же картинка в JPG уместилась бы в 2–4 МБ, а в PNG — где-то в 10–15.
Есть и второй вариант — P3, где числа записаны текстом. Он ещё «толще»: каждое число занимает несколько символов плюс пробелы. Зато такой файл можно открыть и прочитать глазами. Подробнее о разнице между всеми членами семейства и их магическими числами мы рассказываем в статье про семейство Netpbm.
Где PPM встречается сегодня
Раз формат такой «расточительный», зачем он нужен в эпоху JPEG и WebP? Парадокс в том, что именно простота делает PPM незаменимым в технических задачах.
- Промежуточный формат в пайплайнах. Утилиты вроде ImageMagick, dcraw и ffmpeg обмениваются картинками через PPM — потому что его умеют читать и писать вообще все, без библиотек-декодеров.
- Программирование и учёба. Если вы пишете свой первый графический алгоритм, PPM — идеальный выбор: вывести картинку в него можно буквально в десяток строк кода. Об этом — отдельная статья про PPM в программировании.
- Научная визуализация. Где важно сохранить точные значения без потерь и не зависеть от хитрых форматов.
Как открыть и конвертировать PPM
Скачали где-то файл .ppm и хотите просто посмотреть картинку? Двойной клик в Windows, скорее всего, ничем не поможет — система такой формат не знает. Самый быстрый и универсальный путь — конвертировать PPM в PNG или JPG. Эти форматы откроет любой просмотрщик и любой браузер, а заодно картинка похудеет в разы за счёт сжатия.
Загрузите файл
Перетащите .ppm в онлайн-конвертер — ничего устанавливать не нужно.
Выберите формат
PNG — если важно качество без потерь, JPG — если нужен минимальный вес для фото.
Скачайте результат
Готовую картинку можно открыть, переслать или вставить куда угодно.
Откройте свой PPM-файл прямо сейчас
Бесплатный конвертер FormatZ превратит несжатый PPM в компактный PNG за пару секунд — прямо в браузере, без установки и регистрации.
Конвертировать PPM в PNGЕсли же вам, наоборот, нужно получить «голые» пиксели для своего кода или утилиты — пригодится обратное преобразование PNG в PPM. Полный список всех доступных конвертаций всегда есть на странице всех форматов.


