Короткий ответ

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

Открыть инструменты

BMP → PNG

Открыть инструмент

Не судите об устройстве BMP по расширению

BMP описывает семейство растровых файлов, а не один неизменный способ хранения. Заголовок может содержать ширину, высоту, число бит на пиксель и признак способа хранения. В некоторых файлах есть таблица цветов, в других применяются маски каналов. Поэтому по одному расширению нельзя вычислить, сколько байтов займёт соответствующий PNG.

Перед преобразованием запишите размеры в пикселях, глубину цвета и видимые признаки прозрачности. Старый значок с палитрой, снимок экрана с истинным цветом и файл с нестандартными масками могут по-разному интерпретироваться программами. Если просмотрщик и преобразователь читают структуру не одинаково, цвета результата будут отличаться даже при успешном открытии обоих файлов.

Сначала определите назначение: размещение в сети, экономия места, вставка в документ или сохранение архива. Для сети важны объём передачи и отображение в браузере; для документа — фактический размер размещения; для архива — возможность вернуться к оригиналу. Так вы сможете оценивать результат по нужным свойствам, а не по обещанию случайного процента сжатия. Заранее выберите несколько действительно характерных исходников, иначе единственная удачная картинка создаст ложное впечатление о целой коллекции.

  • Запишите размер и глубину цвета.
  • Отметьте палитру и маски каналов.
  • Определите назначение результата.

Одинаковое расширение BMP не означает одинаковую внутреннюю структуру.

Поймите пределы сжатия без потерь

PNG сжимает данные изображения без намеренного отбрасывания представляемых пикселей. Однотонные участки, повторяющиеся узоры и чёткие контуры часто хорошо сжимаются. Шумная фотография может дать гораздо меньшую экономию; исходный BMP тоже не всегда устроен как несжатый массив. Поэтому размер нужно измерять на характерных примерах, а не выводить из названия формата.

Слова «без потерь» не означают улучшение исходника. Если в BMP уже видны размытость, ступеньки диагоналей или полосы на градиенте, смена формата не создаст текстуру и дополнительные цвета. PNG меньшего размера может показывать те же пиксели; больший файл не обязательно лучше. Разделяйте оценку объёма и оценку сохранности изображения.

Для сравнения откройте декодированные изображения при одинаковом масштабе и проверьте мелкий текст, линии толщиной в пиксель и переходы оттенков. Если требуется точная проверка, сравните значения пикселей подходящей программой после согласованного декодирования. Заметное расхождение бывает связано с чтением палитры, масок или прозрачности, а не с самим алгоритмом сжатия PNG.

  • Сравнивайте размер в байтах отдельно от качества.
  • Проверяйте декодированные пиксели.
  • Не ждите восстановления деталей.

Меньший файл PNG сам по себе не доказывает потерю качества.

Проверьте цвет и прозрачность на разных фонах

Прежде чем записать PNG, программа должна правильно прочитать палитру, маски и глубину цвета BMP. Откройте источник и результат в одной программе. Посмотрите на нейтральные серые области, фирменные цвета, плавные переходы и жёсткие края. Поддержка большего числа оттенков в PNG не возвращает оттенки, которых не было в исходной палитре.

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

Осмотрите файл также в программе, где он будет использоваться. Небольшой предварительный просмотр может скрыть неправильный канал цвета и бахрому вдоль полупрозрачных границ. Увеличьте знакомые участки и сравните их в одинаковых условиях. Если обнаружено расхождение, сначала исследуйте особенности BMP и настройки декодирования, а не пытайтесь исправить проблему изменением имени файла.

  • Сравните цвета в одном просмотрщике.
  • Посмотрите края на светлом и тёмном фоне.
  • Проверьте неожиданную прозрачность.

Возможность прозрачности у PNG не гарантирует одинакового прочтения альфа-данных BMP.

Отделите пиксельные размеры от метаданных

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

Параметр физического размещения в документе — отдельный вопрос. При одинаковом числе пикселей данные о разрешении, выраженные, например, в пикселях на метр, могут переноситься иначе. Для печатного макета вставьте PNG в копию документа и проверьте размер, получившийся на странице. Если он изменился, настройте размещение осознанно, не меняя исходный файл вслепую.

Сведения о цветовом профиле, разрешении и комментариях также не обязательно переходят между форматами. Визуальное совпадение не доказывает сохранность всех служебных полей. При важном архивном или производственном использовании посмотрите нужные свойства отдельной утилитой и храните критически важные записи за пределами изображения, если они должны пережить будущие преобразования.

  • Сверьте точную ширину и высоту.
  • Проверьте размещение в макете.
  • Проверьте нужный профиль и разрешение.

Сохранение пикселей не равнозначно переносу всех служебных данных.

Испытайте несколько файлов в конечной среде

Для начала преобразуйте простой рисунок, фотографию и образец с палитрой либо возможной прозрачностью. Откройте каждый скачанный PNG в независимом просмотрщике и в целевой программе. Запишите размеры, цвета, прозрачность, ориентацию и объём в байтах. Если один тип файла вызывает сбой, разберите его структуру до обработки всей папки.

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

При пакетной работе сгруппируйте исходники с похожей глубиной цвета и устройством каналов; проверьте хотя бы один результат из каждой группы. Удачный пример с 24-битным снимком не проверяет файл с палитрой или масками. При странном размере или виде остановитесь и исследуйте причину. Финальный критерий — нужные пиксели, размеры и открытие в действительном месте применения. Запишите исключения и сохраните оригиналы до окончания проверки всей партии, чтобы можно было воспроизвести обработку проблемного файла.

  • Испытайте разные структуры BMP.
  • Откройте скачанное в конечной программе.
  • Запишите и байты, и визуальный результат.

Принимайте PNG после проверки пригодности, а не по заданному коэффициенту сжатия.

Главное

  • Сжатие PNG без потерь часто эффективно для однотонных областей и повторяющихся деталей.
  • BMP бывает разной глубины цвета и структуры, поэтому фиксированного уменьшения размера нет.
  • Преобразование формата не восстанавливает отсутствующие детали и не повышает разрешение.
  • После загрузки проверьте цвет, прозрачность, размеры, необходимые метаданные и целевую программу.

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

Всегда ли PNG меньше BMP?

Нет. Экономия зависит от устройства BMP и содержания картинки; измерьте конкретные файлы.

Меньший размер PNG означает худшее качество?

Не обязательно: сжатие без потерь может хранить те же пиксели компактнее.

Повысится ли разрешение после преобразования?

Нет. Смена формата не добавляет подлинных деталей; сравните размеры в пикселях.

Всегда ли сохранится прозрачность?

Нет гарантии: разные BMP и программы трактуют альфа-данные по-разному. Проверьте на нескольких фонах.

Что проверить перед использованием?

Сверьте пиксели, размеры, цвет, прозрачность, нужные метаданные, объём и работу в целевом приложении.

Источники

  1. Microsoft Learn — BITMAPINFOHEADER structure
  2. W3C — Portable Network Graphics (PNG) Specification, Third Edition
  3. MDN Web Docs — Image file type and format guide