Вниз
Скачать: CL | DM;

Помогите посчитать RGBA пиксель   Найти похожие ветки 

← →
FF   (2011-06-17 12:06) [0]

Здравствуйте. Помогите посчитать сабж.
Имеются четырех байтный массив, тип 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-17 12:07) [1]

Например 2D14454 с прозрачностью 33

читать как Например 2D1454 с прозрачностью 33


← →
Омлет ©   (2011-06-17 12:50) [2]

http://en.wikipedia.org/wiki/Alpha_compositing


← →
FF   (2011-06-17 13:13) [3]


> Омлет ©   (17.06.11 12:50) [2]
> http://en.wikipedia.org/wiki/Alpha_compositing


Спасибо! А то я раньше это не видел, а главное понял... угу


← →
FF   (2011-06-23 00:07) [4]

Удалено модератором



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.004 c
15-1308510140
NailMan
2011-06-19 23:02
2011.10.09
Свершилось


15-1308579867
Kerk
2011-06-20 18:24
2011.10.09
Тестирование


15-1308317438
Brabus
2011-06-17 17:30
2011.10.09
Ограничение на ввод


2-1308483468
ZimFFa
2011-06-19 15:37
2011.10.09
запросы


2-1308570515
Alex_C
2011-06-20 15:48
2011.10.09
Событие OnTimer




   Наверх