Что означает PorterDuff.Mode в графике Android. Что он делает?

Я хотел бы знать, что PorterDuff.Mode означает в графике Android.

Я знаю, что это режим передачи .

Я также знаю, что он имеет такие атрибуты, как DST_IN, Multiply и т. Д.

Solutions Collecting From Web of "Что означает PorterDuff.Mode в графике Android. Что он делает?"

Вот отличная статья с иллюстрациями инженера Google:

http://ssp.impulsetrain.com/porterduff.html

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

Стандартный способ компоновки изображений по умолчанию – PorterDuff.Mode.SRC_OVER , что эквивалентно рисованию исходного изображения / цвета над целевым изображением. Другими словами, он делает то, что вы ожидаете, и рисует исходное изображение (тот, который вы рисуете) поверх целевого изображения (холста), с изображением места назначения, которое проходит до степени, определенной альфа-версией исходного изображения.

PorterDuff инфографика из статьи

Вы можете использовать ключ ниже, чтобы понять алгебру, которую используют приложения Android для описания других режимов (см. Статью для более полного описания с аналогичными терминами).

  • Sa Источник альфа
  • Sc Цвет источника
  • Da Destination alpha
  • Dc Назначение цвета

Где альфа – значение [0..1] , а цвет заменяется один раз на канал (так что используйте формулу один раз для каждого из красного, зеленого и синего)

Результирующие значения указаны в виде пары в квадратных скобках следующим образом.

 [<alpha-value>,<color-value>] 

Где alpha-value и color-value являются формулами для генерации получаемой альфа-канала и каждой цветной шали, соответственно.

Он определяет, как составлять изображения на основе альфа-значения. Подробнее здесь http://en.wikipedia.org/wiki/Alpha_compositing