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

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

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

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

+123
26 нояб. '11 в 16:56
источник поделиться
2 ответа

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

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

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

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

PorterDuff infographic from the article

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

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

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

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

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

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

+262
03 сент. '14 в 22:27
источник

Связанные вопросы


Похожие вопросы

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

+3
14 апр. '13 в 7:57
источник

Посмотрите другие вопросы по меткам или Задайте вопрос