Что такое альфа-канал
Альфа-канал — четвёртый канал рядом с красным, зелёным и синим: он хранит непрозрачность каждого пикселя, обычно с точностью до одного байта. Ноль означает полностью прозрачный пиксель, максимум — полностью непрозрачный, промежуточные значения дают мягкие края и полупрозрачные тени. PNG и WebP умеют его хранить, JPEG — нет, и на этой разнице ломаются логотипы с прозрачным фоном.
Коротко о цифрах
- Что хранит альфа
- непрозрачность пикселя, обычно 8 бит на пиксель
- JPEG
- альфа-канала не имеет: прозрачные пиксели заливаются белым перед кодированием
- прозрачность изображения выражается мягкой маской
- Экспорт страниц в PNG
- выход непрозрачный: холст заливается белым до отрисовки
- Сборка PDF из PNG
- маска переносится, прозрачный фон остаётся прозрачным
Как прозрачность живёт в PDF
У изображения в PDF прозрачность выражается мягкой маской — отдельным изображением в оттенках серого, где яркость задаёт непрозрачность основной картинки. Есть и другие механизмы: постоянная прозрачность для целой группы объектов, режимы наложения. Поэтому логотип с прозрачным фоном, вставленный в документ, не приносит с собой белого прямоугольника: маска подсказывает просмотрщику, какие пиксели рисовать не надо.
При сборке PDF из картинок изображения формата PNG вкладываются вместе с маской, и прозрачность доезжает до страницы. Это заметно, когда снизу лежит цветная подложка: без маски вместо неё был бы виден белый угол.
Куда девается прозрачность в наших инструментах
- Сборка PDF из PNG: альфа сохраняется, прозрачные участки остаются прозрачными.
- Сжатие изображения в JPEG: прозрачные пиксели заранее подкладываются белым — иначе большинство кодировщиков дают на их месте чёрный фон.
- Экспорт страниц PDF в PNG: результат непрозрачный, потому что страница рисуется поверх белой заливки холста, как в любом просмотрщике.
- Сжатие PDF с растеризацией: страницы кодируются в JPEG, где альфы нет по определению.
Как не получить белый или чёрный прямоугольник
- Храните логотипы и подписи в PNG или WebP: перевод в JPEG уничтожает прозрачность необратимо.
- Подпись для вставки в документ сканируйте на белом и вырезайте фон заранее — тогда белая подложка не будет мешать.
- Помните, что прозрачность на бумаге не существует: при печати незакрашенная область — это просто цвет бумаги.
- Если в результате появился чёрный фон, значит картинку прогнали через формат без альфы без предварительной подкладки — начните с исходника.
Частые вопросы
Почему у логотипа появился белый прямоугольник?
Картинку сохранили в формате без альфа-канала, и прозрачные пиксели заменили белым. Вернуть прозрачность из такого файла нельзя — нужен исходник в PNG или другом формате с маской.
Сохранится ли прозрачность при вставке PNG в PDF?
Да. Изображение вкладывается вместе с маской прозрачности, поэтому под ним видно то, что лежит на странице ниже: цветная подложка, линия или текст.
Почему PNG, полученный из PDF, непрозрачный?
Потому что страница рисуется поверх белого холста — так же, как её видит любой просмотрщик. Прозрачных участков в результате не остаётся, даже если в документе они были.
Печатается ли прозрачность?
Нет, на бумаге прозрачных областей не бывает: непрокрашенное место выглядит как цвет бумаги. Полупрозрачные объекты печатная машина смешивает с тем, что под ними, ещё на этапе подготовки файла.