какие форматы поддерживают альфа каналы
Что такое альфа-канал: просто о сложном
Наверняка вы встречали на просторах интернета видеоматериалы с прозрачным фоном. Их называют «видео с альфа-каналом». Они позволяют сэкономить время при наложении на ролик логотипа компании или добавить новых героев в кадр. В этой статье подробно разберем, что такое альфа-канал в монтаже и как его использовать в программе для обработки видео.
Расскажем, как создавать профессиональный контент с альфа-каналом
Альфа-канал изображения: определение и история появления
Многим привычны рисунки или фото с фоном, состоящим из серых и белых квадратов. Он становится прозрачным при наложении на другие картинки. В видео подобный эффект также возможен, именно для подобных целей необходимо использование альфа-канала, который по факту является пустым пространством. Термин впервые появился в речи
в семидесятых годах благодаря Элви Смиту — сооснователю анимационной студии Pixar.
Элви Смит даже получил «Оскар» за достижения в научно-техническом прогрессе
Видео с альфа-каналом также востребовано при создании компьютерных игр — с его помощью легко показать прозрачность того или иного объекта за счет специальных текстур. Основное преимущество способа с альфа-каналом — это возможность сделать видимым нужные области, при этом оставив прозрачным все остальное.
Фактически, на рисунке есть только листва, фон — прозрачный
Футажи с альфа-каналом
Совсем не обязательно самостоятельно создавать видео с альфа-каналом. Можно найти или заказать готовые футажи. Большой популярностью пользуются материалы на следующие тематики:
Футажи с прозрачным фоном
Форматы с альфа-каналом
Если прозрачный фон требуется для фото, то его можно сделать в Фотошопе или любом графическом редакторе. Главное — сохранить файл с правильным расширением. Обычно альфа-канал поддерживается в формате:
Чтобы добавить альфа-канал в видео, потребуется программа для монтажа видео. Фактически вы будете создавать многослойный видеоряд, где один из слоев и будет анимация альфа-канала. Если вы собираетесь использовать готовые футажи, обратите внимание на то, что в некоторых программам требуется активировать маску с объектом и прозрачной областью.
Как использовать альфа-канал
Рассмотрим, как сделать рендер альфа-канала в программе Sony Vegas. Алгоритм действий таков:
Когда актуален альфа-канал
Пока не решились попробовать новые технологии? Мотивацию повысят гипотетические возможности, которые вам откроются.
К примеру, вы создаете рекламное видео или обучающие ролики. Как правило, в подобные форматы добавляют логотип. Если сделать его один раз и сохранить как альфу, то впоследствии эта цветовая заготовка упростит рабочий процесс. Имейте в виду, что для создания статичного логотипа даже не нужен видеофайл, просто сохраните картинку с прозрачным фоном.
Логотип на рекламном видео
Если подготовить креативные заставки, переходы, авторские смайлы, то все эти элементы помогут разработать индивидуальный стиль. Его наличие говорит о профессионализме автора материалов, а также влияет на узнаваемость контента и его значение.
Заготовки потребуют времени и сил, однако подобные вклады в работу практически всегда окупаются. Стримерам, специализирующимся на прохождении бродилок, можно нарисовать своего героя, сопровождающего их в процессе игры.
Подводим итоги
Теперь вы знаете, что такое альфа-канал и как его использовать. Видеоконтент с масками отличается от стандартных роликов своей необычностью и креативом. Рассмотренный инструмент также позволяет создавать материалы в едином стиле, объединенном, например, общими героями или фишками. Можно сделать дополнительный слой-маску со смайлами, летающими тарелками, расцветающими розами. Результат зависит только от вашего воображения!
Cохраните себе статью, чтобы не потерять:
Альфа-каналы, маски и подложки
Сведения об альфа-каналах и подложках
Информация о цветах в After Effects содержится в трех каналах: красном (R), зеленом (G) и синем (B). Кроме того, изображение может содержать невидимый четвертый канал, называемый альфа-каналом, который содержит информацию о прозрачности. Иногда такое изображение называется изображением RGBA, показывая, что оно содержит альфа-канал.
A. Разделенные цветовые каналы B. Альфа-канал, представленный в виде изображения в оттенках серого C. Композиция с использованием всех четырех каналов с фоном, отображаемым сквозь прозрачные области
Многие форматы файлов могут поддерживать включение альфа-канала, в том числе Adobe Photoshop, ElectricImage, FLV, TGA, TIFF, EPS, PDF и Adobe Illustrator. Файлы AVI и QuickTime (сохраненные с разрядностью «Миллионы цветов+») также могут содержать альфа-каналы, в зависимости от кодека (кодировщика), используемого для создания изображений, хранящихся в этих контейнерах. Для файлов Adobe Illustrator, EPS и PDF программа After Effects автоматически преобразует пустые области в альфа-канал.
При определении глубины цвета для вывода изображения знак «плюс» (например, «Миллионы цветов+») обозначает альфа-канал. Аналогично, выбор выходного изображения с глубиной цвета до 32 бит на пиксел подразумевает глубину вывода 8 бит на каждый из четырех каналов: RGBA.
Некоторые программы могут сохранять несколько альфа-каналов в одном изображении, но After Effects только интерпретирует четвертый канал как альфа-канал.
Термин альфа-канал технически обозначает четвертый канал (A) в файле изображения RGBA, независимо от того, используется ли этот канал для задания сведений о прозрачности. Однако, поскольку четвертый канал очень часто используется для предоставления сведений о прозрачности, термины альфа-канал и прозрачность стали почти синонимичными в общеупотребительном использовании. Вместе с тем важно помнить, что эта связь случайна. Одни форматы могут использовать остальные каналы для передачи сведений о прозрачности, другие форматы используют четвертый канал для предоставления иной информации.
Для создания альфа-канала из темных участков слоя можно использовать модуль Knoll Unmult. Это хорошо подходит для слоя с световым эффектом (например, блики или огонь), который требуется расположить поверх другого слоя. Дополнительные сведения см. на сайте Red Giant Software.
При просмотре альфа-канала на панели композиции белый цвет означает полную непрозрачность, черный цвет свидетельствует о полной прозрачности, а оттенки серого показывают частичную прозрачность.
Подложка — слой (или любой из его каналов), который определяет прозрачные области этого или другого слоя. Белая определяет непрозрачные области, черная определяет прозрачные области. Альфа-канал часто используется в качестве подложки, но можно использовать другую подложку, если у вас есть канал или слой, который определяет требуемую область прозрачности лучше чем альфа-канал, или в случаях, когда исходное изображение не содержит альфа-канала.
Сведения о масках
Маска в After Effects — это контур, который используется как параметр для изменения атрибутов, эффектов и свойств слоя. Маска наиболее часто применяется для изменения альфа-канала слоя, который определяет прозрачность слоя для каждого пикселя. Другим распространенным применением маски является использование в качестве контура для анимации текста. (См. раздел Создание и анимация текста на контуре.)
Дополнительные сведения о контурах см. в разделе Сведения о контурах.
Маски с замкнутым контуром можно использовать для создания прозрачных областей на слое. Открытые контуры не могут создавать прозрачные области для слоя, но полезны в качестве параметров для эффекта. Эффекты, которые могут использовать маски с открытыми или закрытым контуром в качестве ввода, включают в себя эффекты обводки, текста по контуру, формы звуковой волны, спектра аудио и Vegas. Эффекты, которые могут использовать закрытые маски (но не открытые маски) в качестве ввода, включают эффекты заливки, пятна, изменения фигуры, площадки для частиц и внутреннего/внешнего ключа.
Маска принадлежит определенному слою. Каждый слой может содержать несколько масок.
Можно нарисовать маски в виде геометрических фигур — многоугольников, эллипсов и звезд — с помощью инструментов фигур, либо использовать инструмент «Перо» для рисования произвольного контура.
В большинстве случаев рисование путей маски выполняется так же, как и рисование контуров фигур на слоях фигур, хотя редактирование и интерполяция путей маски предлагают несколько дополнительных возможностей. Можно связать контур маски с контуром фигуры, используя выражения. Это позволяет использовать преимущества маски в слоях-фигурах, и наоборот. См. разделы Создание фигур и масок и Редактирование и анимация контуров фигур и масок.
Расположение маски на панели «Таймлайн» влияет на то, как она взаимодействует с другими масками. Изменить расположение маски можно в группе свойств маски на панели «Временная шкала».
Свойство непрозрачности маски определяет влияние, которое закрытая маска оказывает на альфа-канал слоя внутри области маски. 100 % непрозрачность маски означает, что внутренняя область непрозрачна. Область за пределами маски всегда прозрачна. Для инверсии внутренней и внешней области определенной маски нажмите «Обратить» рядом с именем маски на панели «Таймлайн».
Копирование, вырезание, сохранение, повторное использование и удаление масок
Вы можете многократно использовать маски в других слоях и композициях. Это особенно удобно для масок Безье, доведение которых до совершенства требует определенного времени. Контуры маски сохраняются внутри композиции в файле проекта.
Копирование, вырезание, дублирование или вставка маски
При работе с контуром маски — что предпочтительнее, чем с целой маской, включая ее другие свойства — выберите свойство пути маски. Это особенно важно при преобразовании путей маски в контуры фигур, контуры движения и т. д.
Сохранение маски
Проект с композициями необходимо создавать только для хранения сложных масок. Если хотите использовать маску из другого проекта, импортируйте этот проект в текущий проект.
Можно также сохранять маски как шаблоны настроек анимации. (См. раздел Шаблоны настроек анимации.)
Повторное использование маски
Удаление масок
Управление цветом пути маски
Чтобы помочь в работе с масками, на панелях «Композиция» и «Слой» контуры масок выделены определенным цветом, а также на панели «Таймлайн» назначенный цвет отображается рядом с именем маски. По умолчанию After Effects использует для всех масок желтый цвет. Чтобы сделать маски более различимыми, можно вручную изменить цвет маски с помощью панели «Таймлайн» или можно настроить After Effects на предложение новых цветов для новых масок.
При включении установки «Использовать контрастный цвет для пути маски» (в меню «Установки» > «Внешний вид») After Effects анализирует цвета рядом с точкой начала отрисовки маски. После этого After Effects выбирает цвет метки, отличный от цветов указанной области. Это также позволяет избежать совпадения с цветом последней отрисованной маски.
Изменение цвета пути маски
Подбор цвета для пути маски
Режимы масок
Режимы наложения для маски (режимы масок) управляют взаимодействием масок друг с другом в пределах слоя. По умолчанию для всех масок задано значение «Добавить», что объединяет значения прозрачности для всех масок, накладывающихся в одном слое. Можно назначить режим для каждой маски, но режим маски нельзя анимировать — то есть нельзя задать ключевые кадры или выражения для изменения свойств режима маски с течением времени.
Выбрать режим маски можно в меню, расположенном рядом с именем маски на панели «Временная шкала».
Первая созданная вами маска взаимодействует с альфа-каналом слоя. Если этот канал не определяет все изображение как непрозрачное, маска взаимодействует с кадром слоя. Каждая дополнительно созданная маска взаимодействует с масками, расположенными на над ней на панели «Таймлайн». Результирующие режимы масок изменяются в зависимости от режимов, настроенных для масок, которые расположены выше. Режимы масок управляют только масками одного и того же слоя.
Используя режимы масок, можно создавать сложные составные маски с несколькими областями прозрачности. Например, можно задать режим маски, который объединяет две маски и устанавливает область непрозрачности для областей, где две маски пересекаются.
A. Исходные маски B. Нет C. Сложение D. Вычитание E. Пересечение F. Замена светлым G. Замена темным H. Разница
Маска не имеет непосредственного влияния на альфа-канал слоя. Этот параметр полезен, когда контур маски используется только для эффекта, например для обводки или заливки, или при использовании пути маски в качестве основы для контура фигуры.
Маска складывается с масками над ней. Воздействие маски объединяется с масками над ней.
Воздействие маски вычитается из масок, расположенных над ней. Этот параметр полезен, когда нужно создать впечатление отверстия в центре другой маски.
Маска складывается с масками над ней. В областях, где маска пересекается с масками над ней, воздействие маски объединяется с этими масками. В областях, где маска не пересекается с масками над ней, результатом является полная непрозрачность.
Маска складывается с масками над ней. Когда пересекаются несколько масок, применяется максимальное значение прозрачности.
Маска складывается с масками над ней. Когда пересекаются несколько масок, применяется минимальное значение прозрачности.
Маска складывается с масками над ней. В областях, где маска не пересекается с масками над ней, маска работает так, будто она единственная в слое. В областях, где маска пересекается с масками над ней, воздействие маски вычитается из воздействия этих масок.
Используйте следующие комбинации клавиш для переключения режима закрытой маски при ее изменении или рисовании.
Функция
Windows
Примечания:
Расширение или сжатие краев маски
Чтобы расширить или сжать область воздействия маски, используйте свойство «Расширение маски».
Расширение маски оказывает влияние на альфа-канал, но не на контуры низлежащей маски; расширение маски по существу является смещением, определяющим дальность воздействия маски на альфа-канал относительно пути маски (в пикселах).
В своем блоге на сайте Adobe Тодд Коприва (Todd Kopriva) предлагает наглядное пособие и подробное разъяснение о расширении маски и объясняет, почему она создает закругленные углы.
Смягчение (растушевка) краев маски
Растушевка смягчает края маски, переводя их из более прозрачных в менее прозрачные на основе определяемого пользователем расстояния. С помощью свойства растушевки маски можно делать края маски более четкими или более расплывчатыми (растушеванными). По умолчанию ширина растушевки затрагивает край маски следующим образом: половина внутри и половина снаружи. Например, если установить для ширины растушевки значение 25, растушевка будет применяться на 12,5 пикселей внутри края маски и на 12,5 пикселей вне его.
С помощью ползунка можно увеличивать значения растушевки маски до 32 000.
A. Маскируемый слой с растушевкой в 5 пикселей B. Маскируемый слой с растушевкой 40 пикселей C. Результат с растушевкой в 5 пикселей D. Результат с растушевкой в 40 пикселей
Также можно расширить или сжать края маски с помощью свойства расширения маски для управления местоположением растушевки маски. (См. раздел Расширение или сжатие краев маски.)
Растушевка маски происходит только в пределах слоя. Поэтому контур растушеванной маски всегда должен быть немного меньше, чем область слоя и никогда не должен быть перемещен к самому края слоя. Если растушевка маски выходит за область слоя, происходит резкий обрыв растушеванного края.
Поскольку растушевка маски заставляет значения непрозрачности изменяться в соответствии с распространением по Гауссу, область, затрагиваемая растушевкой, фактически выходит за пределы указанного количества пикселей. Амплитуда растушевки, выходящая за пределы определенного диапазона растушевки, очень мала. Такой постепенный спад по Гауссу выглядит более естественным, чем линейный спад.
Растушевка маски с переменной шириной
В более ранних версиях After Effects была возможность добавления растушеванного края к закрытой маске, но ширина (расширение) растушевки вокруг маски оставалось неизменным. Новый инструмент растушевки маски (доступен в том же меню инструментов, что и инструмент «Перо») был добавлен, чтобы предоставить возможность указать точки вдоль закрытой маски, которая должна иметь переменную ширину.
Порядок создания точки растушевки
Выделенная точка растушевки имеет небольшую черную точку на ее маркере.
Точки растушевки определяют как внешнюю, так и внутреннюю границы растушевки. При отсутствии маркеров ширины растушевки в пределах маски внутренней границей растушевки является путь маски. Растушевка маски расширяется от внутренней к внешней границе растушевки.
Порядок выбора нескольких точек растушевки
С помощью инструмента «Выделение» или «Растушевка маски» щелкните маркеры точек растушевки, удерживая нажатой клавишу SHIFT.
Порядок переключения выделенной области точки растушевки
Щелкните точку растушевки, удерживая нажатой клавишу SHIFT.
Чтобы переместить точку растушевки, выполните одно из предложенных ниже действий.
Можно одновременно переместить несколько выбранных точек растушевки, перетащив одну из них и масштабировав несколько расширений растушевки, смещая один из маркеров ширины растушевки.
Можно «подмести» точки растушевки вокруг угловых точек маски.
Можно переместить несколько выбранных точек растушевки и установить большую длину/ширину, удерживая нажатой клавишу SHIFT.
Порядок привязки точки растушевки к пути маски
Перетащите маркер ширины растушевки через путь маски. Он остановится на пути маски.
Порядок управления спадом растушевки
Выберите «Слой» > «Маска» > «Спад растушевки», а затем выполните одно из предложенных ниже действий.
Порядок настройки напряжения (смягчения или кривизны) границы растушевки по точке растушевки
Удерживайте нажатой клавишу ALT (Windows) или OPTION (MacOS) при перетаскивании маркера ширины растушевки, чтобы настроить напряжение. Текущее напряжение для маркера отображается на панели информации.
Порядок задания задержки интерполяции для точки растушевки (для постоянного радиуса растушевки до следующей точки растушевки)
Удерживайте нажатой клавишу ALT (Windows) или OPTION (MacOS) при перетаскивании маркера ширины растушевки, чтобы настроить напряжение. Текущее напряжение для маркера отображается на панели информации.
Порядок задания задержки интерполяции для точки растушевки (для постоянного радиуса растушевки до следующей точки растушевки)
Включите параметр «Остановка» из контекстного меню над точкой растушевки. Маркер точки растушевки станет заостренным в направлении постоянного радиуса.
Порядок быстрого создания растушеванного края для определенного сегмента маски
Щелкните сегмент маски (между двумя вершинами, а не над ними), удерживая нажатой клавишу SHIFT. Курсор изменится, указывая, что вы находитесь в этом режиме. Перетащите курсор от сегмента, чтобы изменить расширение. Обратите внимание на следующее поведение:
Порядок удаления точки растушевки
С помощью инструмента «Выделение» или «Растушевка маски» выберите маркер ширины растушевки, затем нажмите кнопку «Удалить». Можно удалить несколько выбранных точек растушевки.
Поддерживаемые форматы пикселей и режимы альфа-канала
В этом разделе описываются форматы пикселей и альфа-режимы, поддерживаемые различными частями Direct2D, включая тип целевого объекта прорисовки, ID2D1Bitmapи ID2D1ImageSource. В него входят следующие разделы.
Поддерживаемые форматы YUV для источника образа DXGI
Формат |
---|
_айув формата _ DXGI |
_NV12 формата _ DXGI |
_YUY2 формата _ DXGI |
_P208 формата _ DXGI |
_V208 формата _ DXGI |
_V408 формата _ DXGI |
_Формат DXGI _ R8 _ UNORM |
_Формат DXGI _ R8G8 _ UNORM |
Указание формата пикселей для целевого объекта прорисовки
Разные целевые объекты отрисовки поддерживают разные сочетания формата и альфа-режима. В следующих разделах перечислены форматы и альфа-комбинации, поддерживаемые каждым из целевых объектов рендеринга.
Поддерживаемые форматы для ID2D1HwndRenderTarget
Поддерживаемые форматы для ID2D1HwndRenderTarget зависят от того, отображается ли он с помощью оборудования или программного обеспечения, или по умолчанию Direct2D автоматически обрабатывает режим отрисовки.
Для лучшей производительности мы рекомендуем использовать _ Формат DXGI _ B8G8R8A8 _ UNORM в качестве формата пикселей. Это особенно удобно для целевых объектов прорисовки программного обеспечения. Целевые объекты формата BGRA работают лучше, чем форматы RGBA.
При создании ID2D1HwndRenderTargetиспользуется структура _ _ _ свойств целевого объекта прорисовки D2D1 для указания параметров подготовки к просмотру. Параметры включают формат пикселей, как указано в предыдущем разделе. Поле Type (тип) этой структуры позволяет указать, будет ли целевой объект прорисовки отображаться на оборудовании или программном обеспечении, или же Direct2D должен автоматически определять режим рендеринга.
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_неизвестный формат DXGI _ | _Пропуск режима альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | _Неизвестный режим альфа-канала D2D1 _ _ |
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_Формат DXGI _ R8G8B8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ R8G8B8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ R8G8B8A8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_неизвестный формат DXGI _ | _Пропуск режима альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | _Неизвестный режим альфа-канала D2D1 _ _ |
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_неизвестный формат DXGI _ | _Пропуск режима альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | _Неизвестный режим альфа-канала D2D1 _ _ |
Поддерживаемые форматы для ID2D1DeviceContext
Поддерживаемые форматы для совместимого целевого объекта рендеринга
Формат | Альфа-режим |
---|---|
_Формат DXGI _ a8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ a8 _ UNORM | _Прямой режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | _Неизвестный режим альфа-канала D2D1 _ _ |
Поддерживаемые форматы для целевого объекта прорисовки поверхности DXGI
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ R8G8B8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ R8G8B8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ a8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ a8 _ UNORM | _Прямой режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_неизвестный формат DXGI _ | _Пропуск режима альфа-канала D2D1 _ _ |
Формат должен соответствовать формату поверхности DXGI, в которую рисуется целевой объект отрисовки поверхности DXGI.
Формат _ _ неизвестного формата DXGI по умолчанию использует формат поверхности DXGI. Не используйте _ режим альфа D2D1 Alpha _ с _ неизвестным режимом альфа с целью отрисовки поверхности DXGI. Он не имеет значения по умолчанию и приведет к сбою создания целевого объекта отрисовки поверхности DXGI.
Поддерживаемые форматы для целевого объекта прорисовки для растрового изображения WIC
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_Формат DXGI _ a8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ a8 _ UNORM | _Прямой режим альфа-канала D2D1 _ _ |
_Формат DXGI _ a8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_неизвестный формат DXGI _ | _Пропуск режима альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | _Неизвестный режим альфа-канала D2D1 _ _ |
Формат пикселей цели битовой карты WIC должен соответствовать формату пикселей точечного рисунка WIC.
Формат _ _ неизвестного формата DXGI использует формат битовой карты WIC по умолчанию, а режим альфа-канала D2D1 _ Alpha _ _ использует режим альфа-битовой архитектуры WIC по умолчанию.
Поддерживаемые форматы для ID2D1DCRenderTarget
ID2D1DCRenderTarget поддерживает следующие сочетания форматов и альфа-режима.
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
Указание формата пикселей для ID2D1Bitmap
Как правило, объекты ID2D1Bitmap поддерживают следующие форматы и альфа-режимы (с некоторыми ограничениями, описанными в следующих абзацах).
Формат | Альфа-режим |
---|---|
_Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
_Формат DXGI _ B8G8R8A8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_Формат DXGI _ a8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_Формат DXGI _ a8 _ UNORM | _Прямой режим альфа-канала D2D1 _ _ |
_Формат DXGI _ a8 _ UNORM | _Неизвестный режим альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_неизвестный формат DXGI _ | _Пропуск режима альфа-канала D2D1 _ _ |
_неизвестный формат DXGI _ | _Неизвестный режим альфа-канала D2D1 _ _ |
_формат DXGI _ B8G8R8X8 _ UNORM (Windows 8.1 и более поздние версии, только) | _Пропуск режима альфа-канала D2D1 _ _ |
_формат DXGI _ BC1 _ UNORM (Windows 8.1 и более поздние версии, только) | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_формат DXGI _ BC1 _ UNORM (Windows 8.1 и более поздние версии, только) | _Пропуск режима альфа-канала D2D1 _ _ |
_формат DXGI _ BC1 _ UNORM (Windows 8.1 и более поздние версии, только) | _Неизвестный режим альфа-канала D2D1 _ _ |
_формат DXGI _ BC2 _ UNORM (Windows 8.1 и более поздние версии, только) | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_формат DXGI _ BC2 _ UNORM (Windows 8.1 и более поздние версии, только) | _Пропуск режима альфа-канала D2D1 _ _ |
_формат DXGI _ BC2 _ UNORM (Windows 8.1 и более поздние версии, только) | _Неизвестный режим альфа-канала D2D1 _ _ |
_формат DXGI _ BC3 _ UNORM (Windows 8.1 и более поздние версии, только) | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
_формат DXGI _ BC3 _ UNORM (Windows 8.1 и более поздние версии, только) | _Пропуск режима альфа-канала D2D1 _ _ |
_формат DXGI _ BC3 _ UNORM (Windows 8.1 и более поздние версии, только) | _Неизвестный режим альфа-канала D2D1 _ _ |
При использовании метода креатебитмапфромвикбитмап используется поле PixelFormat структуры _ _ свойств битовой карты D2D1 (вместо элемента PixelFormat структуры _ _ _ свойств целевого объекта прорисовки D2D1 ) для указания формата пикселей нового целевого объекта прорисовки. Он должен соответствовать формату пикселей источника битовой карты WIC.
Дополнительные сведения о поддержке блочных сжатых (BCn) форматов пикселей см. в разделе блочное сжатие.
Поддерживаемые форматы WIC
При использовании метода креатебитмапфромвикбитмап для создания точечного рисунка из растрового изображения WIC или при использовании метода креатешаредбитмап с ивикбитмаплокк, источник WIC должен иметь формат, поддерживаемый Direct2D.
Формат WIC | Соответствующий формат DXGI | Соответствующий режим альфа |
---|---|---|
GUID _ WICPixelFormat8bppAlpha | _Формат DXGI _ a8 _ UNORM | _Режим альфа D2D1 Alpha _ _ или режим альфа-канала D2D1 с предварительным _ _ _ умножением |
GUID _ WICPixelFormat32bppPRGBA | _Формат DXGI _ R8G8B8A8 _ UNORM | Пропуск предварительно _ _ _ умноженного или неD2D1ого режима _ _ _ альфа-канала D2D1 |
GUID _ WICPixelFormat32bppBGR | _Формат DXGI _ B8G8R8A8 _ UNORM | _Пропуск режима альфа-канала D2D1 _ _ |
GUID _ WICPixelFormat32bppPBGRA | _Формат DXGI _ B8G8R8A8 _ UNORM | Предварительное _ _ умножение режима альфа-канала D2D1 _ |
Пример преобразования битовой карты WIC в поддерживаемый формат см. в разделе Загрузка растрового изображения из файла.
Использование неподдерживаемого формата
Общие сведения о режимах альфа
О предумноженных и прямых режимах альфа-канала
Перечисление альфа-канального _ _ режима D2D1 указывает, использует ли альфа-канал предварительно умноженное альфа-значение, прямой альфа или должен игнорироваться и считаться непрозрачным. При использовании прямой альфа-канала альфа канал указывает значение, соответствующее прозрачности цвета.
Цвета всегда обрабатываются как прямые альфа-Direct2D команды рисования и кисти, независимо от формата назначения.
При использовании предварительно умноженного альфа-канала каждый цветовой канал масштабируется по значению альфа. Как правило, значение цветового канала не превышает значение альфа-канала. Если значение цветового канала в предварительно умноженном формате больше, чем альфа-канал, стандартные математические операции с исходным кодом создают Аддитивное смешение.
Значение альфа-канала само по себе является одинаковым как в прямом, так и в альфа-канале с предварительным умножением.
Различия между прямым и предварительно умноженным альфа-каналом
При описании цвета RGBA с помощью прямой альфа-составляющей цвет сохраняется в канале альфа. Например, чтобы описать красный цвет, который равен 60% непрозрачному, используйте следующие значения: (255, 0, 0, 255 * 0,6) = (255, 0, 0, 153). Значение 255 указывает полный красный цвет, а 153 (т. е. 60% от 255) указывает, что цвет должен иметь непрозрачность в 60 процентов.
При описании цвета RGBA с помощью предварительно умноженного альфа-канала каждый цвет умножается на альфа-значение: (255 * 0,6, 0 * 0,6, 0 * 0,6, 255 * 0,6) = (153, 0, 0, 153).
Независимо от Альфа-режима целевого объекта рендеринга, значения D2D1 _ Color _ F всегда обрабатываются как прямые альфа-каналы. Например, при указании цвета ID2D1SolidColorBrush для использования с целевым объектом рендеринга, который использует режим с предварительным умножением альфа-канала, укажите цвет, точно так же, как если бы цель рендеринга использовала прямую альфа-канал. При рисовании с помощью кисти Direct2D преобразует цвет в формат назначения.
Режим альфа для целевых объектов прорисовки
Независимо от параметра режима альфа, содержимое целевого объекта рендеринга поддерживает прозрачность. Например, при рисовании частично прозрачного красного прямоугольника с целевым объектом отрисовки с режимом альфа-канала D2D1 _ альфа _ Mode _ игнорируется, прямоугольник будет выглядеть розовым (если фон белый).
Если вы нарисуете частично прозрачный красный прямоугольник, когда альфа-режим D2D1 в _ _ режиме альфа _, то прямоугольник будет выглядеть розовым (при условии, что фон является белым), и его можно увидеть в любом расположении позади целевого объекта прорисовки. Это полезно при использовании ID2D1DCRenderTarget для подготовки к просмотру в прозрачном окне или при использовании совместимого целевого объекта прорисовки (целевого рендеринга, созданного методом креатекомпатиблерендертаржет ) для создания точечного рисунка, поддерживающего прозрачность.