Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.10.09;
Скачать: [xml.tar.bz2];

Вниз

Помогите посчитать 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.10.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
2-1308498013
Gu
2011-06-19 19:40
2011.10.09
TOpenDialog - zip как файлы


2-1308226982
Gu
2011-06-16 16:23
2011.10.09
{$DEFINE TEST}


4-1251275930
TarenoKostanay
2009-08-26 12:38
2011.10.09
ОС


15-1308265119
Petr V. Abramov
2011-06-17 02:58
2011.10.09
Oracle BI


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский