![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите посчитать RGBA пиксель
FF © (2011-06-17 12:06:00)Здравствуйте. Помогите посчитать сабж.
Имеются четырех байтный массив, тип byte. Будем считать, что это пиксель RGBA. Правила канала А: 0 - абсолютная прозрачность, FF - нету прозрачности. От картинка http://zalil.ru/31280064
Теперь заливаю его цветом 4DB394 с прозрачностью 7F (байты идут в том же порядке, как и на картинке). Так как была 100 процентная прозрачность - то итог мне думается будет такой http://zalil.ru/31280070
Теперь же мне нужно поверх этого пикселя нарисовать еще один. Например 2D14454 с прозрачностью 33. И тут я застопорился. Как в этом случае считать пиксель?
В обычном RGB я бы для каждого канала считал так: (прозрачность приведу в процентах).
pr = 50 (прозрачность %)
isxC = 127 (Текщее значение)
AddC = 255 (Наложить со смешиванием в процентном соотношении pr)
MaxC = 255 (Максимально возможное значение)
OutC = ((MaxC-isxC)/100*pr)+ (addC/100*pr)
С альфой совсем запутался ((
FF (2011-06-23 00:07:00) [1]Удалено модератором
FF (2011-06-17 13:13:00) [2]
> Омлет © (17.06.11 12:50) [2]
> http://en.wikipedia.org/wiki/Alpha_compositing
Спасибо! А то я раньше это не видел, а главное понял... угу
Омлет (2011-06-17 12:50:00) [3]http://en.wikipedia.org/wiki/Alpha_compositing
FF (2011-06-17 12:07:00) [4]Например 2D14454 с прозрачностью 33
читать как Например 2D1454 с прозрачностью 33