Как добавить альфа канал в png
Перейти к содержимому

Как добавить альфа канал в png

  • автор:

Сохранение выделенных областей и масок альфа-каналов

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

Примеры масок в Photoshop

A. Непрозрачная маска использовалась для защиты фона и редактирования бабочки B. Непрозрачная маска использовалась для защиты бабочки и изменения фонового цвета C. Полупрозрачная маска использовалась для изменения фонового цвета и частичного изменения цвета бабочки

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

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

Чтобы сохранить выделенную область, ее можно поместить в альфа-канал. В альфа-каналах выделенные области хранятся в виде редактируемых масок в градациях серого на панели «Каналы». Сохранив один раз выделенную область в виде альфа-канала, можно впоследствии загрузить ее в любое время либо даже применить для другого изображения.

Альфа-каналы в Adobe Photoshop

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

Альфа-каналы позволяют сохранять выделение, даже если вы с ними в данный момент не работаете. Однако для формирования нужной области может потребоваться много времени (в зависимости от самого изображения и сложности вашей задумки). Иногда процесс работы над выделением может занимать до нескольких часов, но это в особо сложных случаях. Пока производится сохранение документа в PSD-файл или в PDF-файл с поддержкой редактирования последнего в Photoshop, альфа-каналы будут расположены там всё время, что позволит к ним быстро вернуться.

Самый широко используемый метод работы с альфа-каналом, когда тот выступает в качестве основы для формирования слоя-маски. Она будет использоваться для создания более подробного выделения, которого невозможно (или очень сложно) достичь другими методами.

Также пользователи частенько совершают работу с альфа-каналами, особенно, когда работают в режиме «Быстрая маска».

Работа с альфа-каналами в Adobe Photoshop

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

Образование альфа-канала

Альфа-канал чем-то похож на слой-маску, так как в нём присутствуют три основных цвета, если настройки по умолчанию не были вами изменены. Сюда включены следующие цвета:

  • Чёрный – это неопределённая область изображения. Как правило, та область, которая не была выделена в процессе;
  • Белый – этим цветом отмечены области, которые защищены либо скрыты;
  • Серый. Данный цвет отвечает за настройку частичного выделения. Как правило, такие области, после некоторых преобразований становятся полупрозрачными.

Чтобы создать альфа-канал вам придётся выполнить следующий список действий:

  1. Запустите программу, откройте документ, с которым будете работать.
  2. Здесь вам нужно перейти к разделу, отвечающему именно за работу с каналами. Если у вас выбраны настройки рабочей области, заданные Фотошопом по умолчанию, то вкладка «Каналы» будет расположена рядом со вкладкой «Слои», а именно где-то в нижней правой части активного окна программы.

Изменение альфа-канала

После того, как альфа-канал был создан, а первичные настройки выполнены, вы можете работать с ним практически так же, как и со слой-маской. Для этого может быть использовано приспособление «Кисть» либо любой другой инструмент, служащий для подчёркивания изменений и позволяющий рисовать на канале.

На примере небольшой инструкции рассмотрим, как работать с альфа-каналом:

  1. В верхнем меню программы нажмите на кнопку «Редактировать».
  2. Из контекстного меню нужно выбрать вариант «Выполнить заливку». Это же можно сделать, используя комбинацию клавиш Shift+F5.

Чтобы увидеть информацию о канале, нужно два раза щёлкнуть по его миниатюре в блоке «Каналы». Здесь рекомендуется в блоке «Показывать цветом» установить переключатель напротив пункта «Выделенные области». После применения настроек (при нажатии на кнопку «Ок») приложение автоматически применит цвета маски.

Собственный альфа-канал можно редактировать с помощью режима «Быстрая маска». Для перехода в этот режим требуется нажать по специальной иконке, расположенной в панели с инструментами (она отмечена на скриншоте).

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

К альфа-каналу можно применять практически те же фильтры и эффекты, которые применяются к слою-маске. Среди основных отмечаются:

  • Различные варианты размытия;
  • Градиенты;
  • Выделения.

У нас есть подробная статья про работу со слоями-масками. Ознакомиться с ней можно по этой ссылке.

Удаление альфа-канала

Когда завершите использование альфа-канала и/или решите создать новый для каких-то других своих нужд, можете удалить его. Это делается очень просто. В списке каналов выделите его и нажмите на клавишу Delete или иконку в виде мусорного ведра. Photoshop может запросить подтверждение удаления канала. Подтвердите действие, нажав на «Да».

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

Работа с альфа-каналами в Фотошопе

В программе Photoshop помимо стандартных, также, существуют и альфа-каналы. Они используются в тех случаях, когда нужно сохранить какую-либо выделенную часть для дальнейшего редактирования или использования. Давайте разберемся, как с ними работать.

Работа с альфа-каналами

Благодаря альфа-каналам изображениям с частично прозрачными областями можно соединять друг с другом (альфа-сопряжение). В результате, можно создавать спецэффекты, накладывать фон и т.д.

Самым сложным при работе с такими каналами, пожалуй, является кропотливая работа с выделением, которая может занимать немало времени. Чаще всего, данный инструмент применяется для создания слоя-маски.

Возможность перехода к работе с альфа-каналом предусмотрена, непосредственно, и на самой панели инструментов – в режим быстрой маски.

Включение режима быстрой маски в Фотошопе

Создание

Альфа-канал нужен для представления выделенной области в черно-белом виде. Если мы не будем менять стандартные настройки программы, то черной областью будет отмечаться невыделенная область изображения (незащищенная или скрытая ), а белым – выделенная.

Чтобы создать альфа-канал, выполняем следующие действия:

  1. В палитре слоев переключаемся во вкладку “Каналы”. Жмем кнопку “Создать новый канал”.Создание альфа-канала в Фотошопе
  2. В результате, появится новый канал “Альфа 1”, окрашенный полностью в черный цвет, т.к. он пустой.Альфа-канал в Photoshop
  3. Чтобы выделить определенную область, на боковой панели инструментов выбираем “Кисть”.Выбор инструмента Кисть в Фотошопе
  4. Задаем размер, форму и другие параметры кисти.Настройка кисти в Фотошопе
  5. Меняем цветами местами. Теперь в качестве основного должен быть белый, в качестве дополнительного – черный.Основной и дополнительный цвета в Фотошопе
  6. Закрашиваем кистью ту часть, которую хотим выделить. Чтобы было понятно, что именно закрашивать, включаем видимость остальных каналов.Включение видимости всех каналов в Фотошопе
  7. Наша задача – закрасить белым цветом объект (объекты), которые мы потом планируем редактировать или использовать. В данном случае можно использовать не только кисть, но и любой удобный вид выделения объекта с его последующей заливкой белым цветом.Закрашивание и заливка объекта в альфа-канале в Фотошопе
  8. В результата, получаем следующее.Выделенный белым цветом объект в альфа-канале в Photoshop
  9. Выключаем видимость всех каналов, кроме “альфа”. Двойным щелчком по нему (но не по названию или миниатюре), отрываем параметры.Открытие параметров альфа-канала в Фотошопе
  10. Здесь мы можем задать название, цвет, непрозрачность канала, а также, вариант показа цвета.Параметры альфа-канала в Фотошопе
  11. Например, если мы выберем “Выделение области”, соответственно, выделенная область окрасится в черный цвет, а остальное – в белый.Параметры альфа-канала в Photoshop

Для того, чтобы сохранить выделение в новом альфа-канале, делаем следующее:

  1. Выделяем закрашенную область, нажав на самую левую кнопку в нижней части редактора каналов.Выделение области в альфа-канале в Фотошопе
  2. Можем заметить, как наша закрашенная область выделилась.Выделенная область в альфа-канале в Photoshop
  3. Нажимаем на кнопку сохранения выделенной области в новом канале.Сохранение выделенной области в новом альфа-канале в Фотошопе

Редактирование

Настраивать канал можно как слой-маску – рисовать на нем с помощью кисти или применять различные инструмент, чтобы изменить его.

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

  1. Определяемся с тем, что нам нужно изменить. Допустим, в нашем случае мы хотим “поиграть” с буквами, поэтому, двойным щелчком открываем параметры канала.Переход к параметрам альфа-канала в Фотошопе
  2. Выбираем параметр “Выделение области”. Также, меняем цвет букв (например, на желтый), после чего жмем кнопку OK.Настройка параметров альфа-канала в Фотошопе
  3. После этого произойдет реверс цветов. Т.е. фон станет белым, а буквы – черными.
  4. Теперь переходим в Галерею фильтров (меню “Фильтр”).Переход в Галерею фильтров в Фотошопе
  5. Выбираем понравившийся фильтр. В нашем случае – это “Текстуризатор” (группа “Текстура”). Задаем настройки на свое усмотрение и щелкаем OK.Настройка и применение фильтра Текстуризатор в Фотошопе
  6. Чтобы оценить результат, включаем видимость всех каналов и видим на холсте следующее.Результат применения фильтра Текстуризатор к альфа-каналу в Фотошопе
  7. Аналогичным образом можно настроить второй альфа-канал (не забываем включить его видимость), только теперь все изменения коснутся фона вокруг букв, следовательно, в параметрах настраиваем только цвет.Настройка параметров альфа-канала в Photoshop
  8. Фильтр применяем – “Разбрызгивание” (группа “Штрихи”).Настройка и применение фильтра Разбрызгивание в Photoshop
  9. Можем снять выдение и оценить конечный результат.Результат работы с альфа-каналами в Photoshop

Удаление

Если необходимости в альфа-канале больше нет, его можно удалить. Сделать это можно по-разному:

  1. Щелкаем по каналу правой кнопкой мыши и в открывшемся контекстном меню выбираем пункт “Удалить”.Удаление альфа-канала в Фотошопе
  2. Выбрав нужный канал жмем кнопку удаления внизу редактора (в виде корзины).Удаление альфа-канала в Фотошопе
  3. Зажав канал левой кнопкой мыши перетаскиваем его на значок корзины.Удаление альфа-канала в Photoshop

Заключение

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

Практическая стеганография. Скрытие информации в изображениях PNG

На хакерских конкурсах и играх CTF (Capture The Flag) иногда попадаются задачки на стеганографию: вам дают картинку, в которой нужно найти скрытое сообщение. Наверное, самый простой способ спрятать текст в картинке PNG — прописать его в одном из цветовых каналов или в альфа-канале (канал прозрачности). Для выявления подобных «закладок» есть специальные инструменты, такие как stegsolve, pngcheck и stegdetect, иногда конкурсантам приходится вручную повозиться с фильтрами в GIMP или Photoshop.

Однако прогресс не стоит на месте — и в последнее время всё чаще используются другие способы скрытия данных, например, PNG-наполнение. Посмотрим, как это делается.

Начнём с небольшого теоретического введения по «невидимым» частям PNG.

Альфа-канал

На экране компьютера при отображении картинки цвета создаются сочетанием красного, зелёного и синего компонентов. Эти три цветовые плоскости называются каналами. Обычно они записываются как RGB.

Кроме этих трёх каналов, в PNG может быть ещё четвёртый канал, называемый альфа (обозначается буквой А) для определения уровня прозрачности. Полученное изображение RGBA определяет видимые цвета и степень прозрачности.

В большинстве графических форматов альфа-канал является значением от 0% до 100% (или от 0 до 255 в байтах). Значение 0% (чёрный) обозначает место на изображении, где должна быть полная прозрачность — тут значение RGB игнорируется, и полностью виден фон под картинкой. Значение альфа-канала 100% (белый) означает, что каналы RGB полностью непрозрачны. Промежуточные значения определяют, насколько нужно смешать фон со значением RGB-пикселя.


Альфа-градиент в PNG

Значения альфа-градиента обычно используются для наложения изображения на другое изображение или на веб-страницу. Альфа-градиенты есть в PNG, WebP, ICO, ICN и других растровых форматах. Формат GIF поддерживает только логическое значение (пиксель либо прозрачен, либо нет).

Альфа-канал — только один из вариантов для размещения скрытого текста. Переходим к PNG-наполнению (padding) для прямой записи данных в бинарный файл.

PNG-наполнение по столбцам

Формат PNG достаточно прост. Каждый файл начинается с восьми стандартных байт подписи, вот её десятичные значения: 137 80 78 71 13 10 26 10 . Первый байт выбран за пределами ASCII, чтобы никакой редактор случайно не принял изображение за текстовый файл. Следующие три байта соответствуют буквам P, N, G. Затем разрыв строки DOS (13 10), маркер DOS окончания файла (26), чтобы программа type не выдавала весь бинарный мусор, и маркер Unix новой строки.

После заголовка начинаются блоки данных (chunks) со стандартной структурой. Сначала идёт блок IHDR с указанием ширины и высоты изображения, цветового пространства, количества бит на пиксель, методом сжатия, методом фильтрации и указанием наличия/отсутствия чересстрочного кодирования. Для ширины и высоты выделено по четыре байта, для остальных параметров — по одному байту.

Затем следует опциональный блок tEXt с текстовыми метаданными, например, с названием программы, которая сгенерировала данный файл PNG. В текстовые блоки можно записывать текстовую информацию в открытом виде.

За IHDR и tEXt следуют блоки IDAT со сжатыми значениями RGB или RGBA для растровых пикселей. При рендеринге PNG обрабатывается IHDR, выделяется буфер в памяти для изображения, данные извлекаются из сжатого формата и попиксельно записываются в буфер. Файл PNG завершается блоком IEND.

В конце каждого блока записана контрольная сумма CRC для этого блока, которая вычисляется по стандартному алгоритму.

Обычно изображения PNG содержат 8 или 16 бит информации на каждый канал RGB или RGBA, то есть выходит от трёх до восьми байт на пиксель. В таком формате все байты заняты полезной информацией о цвете и прозрачности, так что в конце каждой строки графического изображения у нас нет места для записи произвольных данных.

Но для задач стеганографии нужно знать, что PNG поддерживает и меньшую глубину цвета: 1 бит (2 цвета), 2 бита (4 цвета) и 4 бита (16 цветов). В такой ситуации получается, что в одном байте хранится информация о нескольких пикселях. Вот здесь и появляется теоретическая возможность для «горизонтального» наполнения PNG посторонними данными. Если ширина картинки в пикселях не кратна восьми, то в последнем байте строки остаётся неиспользуемые биты, которые все вместе формируют целый неиспользуемый «столбец пикселей».

В случае 1-битного изображения в конце каждой строки может остаться до 7 свободных бит, которые не будут обработаны парсером. В случае 2-битного изображения в последнем байте остаётся до 3 свободных бит. Онлайновый инструмент FotoForensics находит такие неиспользуемые «столбцы пикселей» в изображениях PNG.

Впрочем, PNG-картинки с малой глубиной цвета встречаются очень редко, поэтому и данный метод стеганографии можно считать экзотикой. Если вам попалось PNG-изображение с 2, 4 или 16 цветами, один этот факт уже вызывает подозрение и может инициировать проверку PNG-наполнения по столбцам.

Совсем другое дело — PNG-наполнение за границами картинки. Это более простой метод стеганографии, который позволяет спрятать в изображении гораздо больше информации.

PNG-наполнение за границами картинки

PNG-наполнение за границами картинки (post-pixel padding) часто используется в различных играх, головоломках и конкурсах, не только хакерских. Вот как работает этот метод:

    Берём изображение PNG (с любой глубиной цвета).

Несложно догадаться, что в «секретной» части картинки можно спрятать не только текстовую надпись, но и произвольные данные. Например, мы можем записать туда запароленный архив RAR. Картинка с секретным посланием может быть опубликована на Habrastorage или любом другом общедоступном хостинге. Послание получит только тот человек, с которым вы заранее договорились о способе передачи информации и согласовали пароль. Таким способом вредоносные программы могут передавать полезную нагрузку через Хабр и другие общедоступные хостинги.

На правах рекламы

VDS для размещения сайтов — это про наши эпичные! Все серверы «из коробки» защищены от DDoS-атак, автоматическая установка удобной панели управления VestaCP. Лучше один раз попробовать 😉

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *