Перейти к содержимому
pdftools.kz
Конвертация

Формат BMP

BMP — это заголовок и следом сырые пиксели, почти всегда без всякого сжатия. Поэтому вес файла считается умножением: ширина на высоту на число байт в пикселе. Кадр 1920×1080 в 24 битах занимает 6 220 800 байт, то есть около 5,9 МиБ, независимо от того, что на нём изображено — фотография заката или белый прямоугольник. Формат родом из Windows, и за пределами Windows встречается редко.

Локально в браузередо 100 МБбез регистрации

Коротко о цифрах

Сжатие
как правило отсутствует; RLE в спецификации есть, но применяется редко
Формула веса
1920×1080×3 = 6 220 800 байт, около 5,9 МиБ
Выравнивание строк
каждая строка дополняется до кратности четырём байтам
Порядок строк
снизу вверх при положительной высоте в заголовке
У нас
принимается при сборке PDF и кладётся в документ как PNG

Две особенности, о которые спотыкаются

  • Строки выровнены по четыре байта. Картинка шириной 101 пиксель в 24 битах даёт 303 байта данных на строку, а занимает 304 — один байт на строку уходит в никуда.
  • Строки обычно записаны снизу вверх: положительная высота в заголовке означает, что первой в файле лежит нижняя строка изображения. Отрицательная высота переключает порядок на привычный.
  • Прозрачность формально возможна в 32-битном варианте, но многие программы игнорируют четвёртый канал и рисуют картинку непрозрачной.
  • Сжатие в спецификации есть (RLE для 4 и 8 бит), но на практике почти не используется — тем и ценен BMP как промежуточный формат: в нём нечему испортиться.

Что происходит при вставке в PDF

Фильтра для BMP в PDF нет, и наш конвертер поступает с ним так же, как с WebP или GIF: браузер декодирует файл, картинка рисуется на канвасе и упаковывается в PNG. Но исход противоположный. WebP теряет своё сжатие с потерями и растёт, а BMP не имеет никакого сжатия вообще, поэтому переход в PNG — чистый выигрыш.

Насколько именно — зависит от содержимого. Скриншот интерфейса, где половина площади это однотонные панели, сжимается радикально: PNG опишет ровные заливки несколькими байтами. Фотография из BMP уменьшится куда скромнее, потому что сжатие без потерь опирается на повторы, а на снимке их мало. Ждать здесь чудес не стоит: если нужен лёгкий PDF из фотографий, сохраните их в JPEG до сборки.

Когда BMP оправдан

  • Как промежуточный шаг между программами, которые иначе теряют качество на каждом сохранении.
  • Как формат вывода старого оборудования — сканеров, промышленных камер, медицинских приборов.
  • Внутри файлов Windows-иконок: там лежат те же самые несжатые пиксельные блоки, только без файлового заголовка.
  • Для хранения и отправки BMP не годится: тот же кадр в PNG будет точным до пикселя и в разы легче.

Частые вопросы

Почему картинка в BMP весит несколько мегабайт, а в PNG — сто килобайт?

Потому что BMP записывает каждый пиксель отдельно и ничего не сжимает, а PNG кодирует повторы соседних пикселей. Изображение при этом остаётся точным до последней точки: потерь при переходе нет.

Можно ли собрать PDF прямо из BMP-файлов?

Да, наш конвертер изображений принимает BMP наравне с JPG и PNG. Внутрь документа картинка попадёт в виде PNG, потому что фильтра для BMP в спецификации PDF не предусмотрено.

Есть ли в BMP прозрачность?

В 32-битном варианте четвёртый канал технически присутствует, но поддержка его неровная: многие программы читают только три канала и выводят изображение полностью непрозрачным.

Чем открыть BMP на телефоне?

Практически любой галереей или браузером: формат простой и декодируется везде. Проблема обычно не в открытии, а в объёме — несжатый файл долго передаётся по мобильной сети.

Рядом

Частые задачи с этим инструментом