Гайд

Прозрачность в PNG: как работает альфа-канал и как сделать прозрачный фон

Вы вырезали логотип, сохранили его в PNG — а на сайте вокруг него внезапно вылез белый прямоугольник или тёмная каёмка. Знакомо? Чтобы такого больше не случалось, разберёмся, что именно делает PNG прозрачным, почему в редакторах «шахматка», и как получить идеально чистый прозрачный фон без сюрпризов.

Дизайнеры за компьютером редактируют изображения — работа с прозрачным фоном PNG
Прозрачный фон — повседневная задача дизайнера. И почти всегда за ней стоит альфа-канал PNG. Фото: Pexels

Что такое альфа-канал простыми словами

Любое цветное изображение на экране состоит из трёх каналов: красного, зелёного и синего (RGB). Смешивая их в разных пропорциях, монитор показывает миллионы оттенков. Но эти три канала отвечают только за цвет — они ничего не знают о том, должен ли пиксель быть видимым.

За видимость отвечает альфа-канал — четвёртый канал, который PNG добавляет к RGB (поэтому полноцветный PNG называют RGBA). Альфа хранит для каждого пикселя одно число — степень непрозрачности:

  • 0 — пиксель полностью прозрачный, его как будто нет;
  • 255 — пиксель полностью непрозрачный, обычный цвет;
  • что-то между — полупрозрачность: чем меньше число, тем сильнее сквозь пиксель просвечивает фон.

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

Коротко

RGB говорит, какого цвета пиксель. Альфа-канал говорит, насколько он виден. Прозрачность в PNG — это и есть альфа-канал, ничего магического в ней нет.

Почему «шахматка» — это и есть прозрачность

Откройте прозрачный PNG в Photoshop, GIMP, Figma или любом онлайн-редакторе — и под картинкой вы увидите серо-белые клетки. Это сбивает с толку новичков: «откуда в моём файле взялась эта сетка и как её убрать?»

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

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

Шахматка — это не часть картинки, а способ нарисовать «ничто». В готовом макете на её месте окажется ваш фон.
Команда дизайнеров обсуждает макеты с образцами цветов на рабочем столе
Логотип на одном фоне, потом на другом, потом на тёмной теме сайта — прозрачный фон экономит дизайнеру часы. Фото: Pexels

PNG-8 против PNG-32: рваные края и плавные

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

PNG-8 (индексный) хранит не более 256 цветов в палитре, а прозрачность — чаще всего 1-битную: пиксель может быть либо полностью видимым, либо полностью прозрачным. Полутонов нет. Для резких геометрических иконок без сглаживания этого хватает, но на любой диагонали или округлости край превращается в «лесенку» (aliasing): сглаживающие полупрозрачные пиксели просто негде сохранить.

PNG-24/32 — это полноцветное изображение с настоящим 8-битным альфа-каналом: 256 уровней прозрачности на каждый пиксель. (PNG-24 — это RGB без альфы; как только добавляется альфа-канал, на пиксель уходит 32 бита, отсюда и название PNG-32.) Именно он даёт плавные сглаженные края, мягкие тени и аккуратную полупрозрачность.

ПараметрPNG-8PNG-32
Цветадо 256 (палитра)миллионы (true color)
Прозрачность1 бит (вкл/выкл)8 бит (256 уровней)
Краярваные, лесенкойгладкие, сглаженные
Полупрозрачность и тенинетда
Размер файламеньшебольше
Для чегоплоские иконки, простая графикалоготипы, фото-вырезы, UI

Правило большого пальца

Есть скруглённые или диагональные края, тень, полупрозрачность? Берите PNG-32. Это плоская иконка из пары цветов с прямыми углами и нужен минимальный вес? Можно PNG-8 — но проверьте край на сглаживание.

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

Главное правило: сначала уберите фон, потом сохраните в PNG. Сохранение в PNG само по себе не делает фон прозрачным — оно лишь сохраняет ту прозрачность, которую вы создали в редакторе. Если фон был белым, в PNG он и останется белым.

1

Отделите объект от фона

Вырежьте нужное по маске или удалите фон автоматическим инструментом. Цель — чтобы вокруг объекта оказалась клетчатая (прозрачная) зона, а не сплошной цвет.

2

Подчистите края

Слегка сожмите маску внутрь или примените «очистку краёв», чтобы не осталось ободка из старого фона. Этот шаг спасает от будущей бахромы.

3

Сохраните как PNG-32

При экспорте выберите PNG с поддержкой альфа-канала (PNG-24/32), а не PNG-8 — иначе потеряете полутона по краям.

4

Проверьте на разных фонах

Положите результат на чёрный и на белый. Если на одном из них вылезает кайма — вернитесь к шагу 2.

Если же исходник у вас в формате без прозрачности (например, JPG), фон сначала нужно вырезать вручную: сама по себе конвертация прозрачность не «придумает». Зато конвертация в PNG создаст контейнер, в котором эту прозрачность уже можно хранить.

Тёмная кайма, потеря альфы и другие беды

Большинство проблем с прозрачностью сводятся к двум вещам: как хранится цвет под прозрачными пикселями и умеет ли программа вообще работать с альфой.

Бахрома и тёмное/светлое гало по краям

Самая частая жалоба — тонкая тёмная (или белая) каёмка вокруг вырезанного объекта. Причина в полупрозрачных краевых пикселях. Их цвет получается смешением объекта и того фона, на котором его вырезали или которым «подложили» (этот цвет называют matte). Если объект вырезали с белого фона, а потом поставили на тёмный — по краю проступит светлый ореол, и наоборот.

Сюда же относится путаница с премультипликацией (premultiplied alpha). Это способ хранения, при котором цвет пикселя заранее умножен на его прозрачность. Если одна программа сохранила картинку как premultiplied, а другая прочитала её как обычную (straight) альфу — по краям появляется характерное тёмное гало. Лекарство: вырезать аккуратно по маске, чистить край и, если есть выбор, экспортировать со straight-альфой либо задавать matte под цвет будущего фона.

Главная ловушка: JPG стирает прозрачность

JPG физически не хранит альфа-канал. Стоит сохранить прозрачный PNG в JPG — и все невидимые области зальются сплошным цветом, чаще всего белым или чёрным. Вернуть прозрачность из такого JPG уже невозможно. Нужна прозрачность — оставайтесь в PNG или WebP. А если JPG уже получился, конвертация JPG → PNG вернёт контейнер для альфы, но сам вырез фона придётся делать заново.

Альфа «слетела» при конвертации

Иногда прозрачность теряется не из-за JPG, а из-за неудачного экспорта: картинку случайно сохранили как PNG-8 с 1-битной альфой, или редактор «свёл» слои на белый фон. Признак — вместо мягких краёв резкая лесенка либо внезапный белый прямоугольник. Решение простое: пересохранить из исходника в PNG-32, не сводя прозрачный слой.

Тюбики краски и кисти, разложенные веером на цветовом круге из образцов
Цвет краевых пикселей — как краска, в которую подмешали фон. Подмешали не тот — получили кайму. Фото: Pexels

Как проверить и конвертировать прозрачность

Прежде чем отдавать PNG в работу, полезно убедиться, что прозрачность действительно есть и она чистая. Сделать это можно за минуту.

1

Посмотрите на двух фонах

Откройте PNG в редакторе и переключите подложку с белой на чёрную. Кайма или ореол, видимый хотя бы на одном фоне, — это дефект края.

2

Проверьте тип альфы

В свойствах файла или при экспорте посмотрите глубину: RGBA / 32 бита — полноценная альфа; индексный 8-бит — скорее всего 1-битная прозрачность с рваными краями.

3

Конвертируйте с сохранением альфы

Если нужно сменить формат — выбирайте тот, что хранит прозрачность. WebP и PNG умеют, JPG — нет.

Когда нужно сменить формат и при этом не потерять прозрачность, удобно использовать онлайн-конвертеры: WebP → PNG перенесёт альфа-канал из современного веб-формата в универсальный PNG, а JPG → PNG подготовит контейнер, в котором прозрачность можно будет добавить. Полный список преобразований всегда есть на странице всех форматов.

Нужно сменить формат и сохранить прозрачность?

Конвертеры FormatZ работают прямо в браузере: бережно переносят альфа-канал между PNG и WebP, готовят PNG из JPG — без установки, регистрации и водяных знаков.

Конвертировать с сохранением прозрачности

Где без прозрачности не обойтись

Альфа-канал PNG — это незаметный, но вездесущий инструмент. Вот где он решает всё:

  • Логотипы. Один прозрачный PNG ложится и на белую визитку, и на тёмный сайт, и поверх фотографии — без белого прямоугольника вокруг.
  • Наклейки, стикеры и эмодзи. Произвольная форма с гладким краем существует только благодаря альфа-каналу.
  • Интерфейсы (UI). Иконки, кнопки, тени и закругления в приложениях держатся на полупрозрачности PNG.
  • Коллажи и наложения. Вырезанные объекты, водяные знаки, рамки — всё, что должно лежать поверх другого изображения.

Общая логика простая: как только картинку нужно положить поверх чего-то неизвестного заранее, ей нужна прозрачность — а значит, PNG (или WebP) с честным альфа-каналом.

Художественные палитры с мазками краски разных цветов
Альфа-канал — как палитра художника: 256 уровней «прозрачности» вместо одного решения «видно/не видно». Фото: Pexels
256уровней прозрачности в PNG-32
1 битпрозрачность в PNG-8
0альфа-каналов в JPG

Запомнить всё это можно одной фразой: PNG хранит прозрачность, JPG — нет. Дальше дело за деталями — типом альфы и чистотой краёв, с которыми вы теперь умеете обращаться.

Альфа-канал — это четвёртый канал изображения наряду с красным, зелёным и синим. Он хранит для каждого пикселя степень непрозрачности: 0 — пиксель полностью прозрачный (его не видно), 255 — полностью непрозрачный, а промежуточные значения дают полупрозрачность. Именно благодаря альфа-каналу PNG умеет показывать мягкие края, тени и стекло.
Серо-белая «шахматка» — это не часть картинки, а условное обозначение прозрачных пикселей. Монитор не умеет показывать «ничто», поэтому редакторы рисуют клетки там, где пикселя нет. В самом файле PNG никакой шахматки не хранится: на сайте или в дизайне на этом месте будет виден фон под картинкой.
PNG-8 (индексный) хранит обычно 1-битную прозрачность: пиксель либо виден, либо нет, без полутонов. Из-за этого края получаются «рваными», лесенкой. PNG-32 хранит полноценный 8-битный альфа-канал — 256 уровней прозрачности на каждый пиксель, поэтому края гладкие, а тени и полупрозрачные участки выглядят естественно.
Это «бахрома» (halo): по краям объекта остаются полупрозрачные пиксели, в цвет которых «вмешан» старый фон или цвет подложки (matte). Чаще всего причина — неправильная обработка премультипликации или вырезание объекта со светлого/тёмного фона без очистки краёв. Лекарство — вырезать аккуратно по маске и при необходимости подобрать matte под будущий фон.
Нет. JPG физически не хранит альфа-канал, поэтому при конвертации прозрачные области заливаются сплошным цветом — обычно белым или чёрным. Если прозрачность нужна, используйте PNG или WebP. Сохранить альфу при конвертации помогут конвертеры FormatZ — например JPG → PNG или WebP → PNG.