Мені хотілося б знати, що означає PorterDuff.Mode в андроїд-графіці.
Я знаю, що це режим передачі .
Я також знаю, що він має такі атрибути, як DST_IN, Множити і т.д.
Мені хотілося б знати, що означає PorterDuff.Mode в андроїд-графіці.
Я знаю, що це режим передачі .
Я також знаю, що він має такі атрибути, як DST_IN, Множити і т.д.
Відповіді:
Ось чудова стаття з ілюстраціями інженера Google:
http://ssp.impulsetrain.com/porterduff.html
PorterDuff описується як спосіб комбінування зображень так, ніби вони "шматки картону неправильної форми", накладені один на одного, а також як схема змішування деталей, що перекриваються.
Стандартним способом складання зображень для Android є PorterDuff.Mode.SRC_OVER , який прирівнюється до малювання вихідного зображення / кольору над цільовим зображенням. Іншими словами, він робить те, що ви очікували, і малює вихідне зображення (те, що ви малюєте) зверху на цільове зображення (полотно) з цільовим зображенням, яке відображається до ступеня, визначеної альфою вихідного зображення.
Клавішею нижче можна зрозуміти алгебру, яку використовують документи Android для опису інших режимів (див . Статтю для більш повного опису з подібними термінами).
Де альфа - значення [0..1]
, а колір замінюється один раз на канал (тому використовуйте формулу один раз для кожного червоного, зеленого та синього)
Отримані значення задаються у вигляді пари в квадратних дужках наступним чином.
[<alpha-value>,<color-value>]
Де alpha-value
і color-value
є формули для генерації результуючого альфа-шанеля та кожної кольорової шанелі відповідно.
Він визначає, як складати зображення на основі альфа-значення. Детальніше дивіться тут http://en.wikipedia.org/wiki/Alpha_compositing