Наложение одного изображения на другое

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Наложение одного изображения на другое

Сообщение qivi »

Подскажите пожалуйста, как выглядит формула наложение одного пикселя (растрового изображения) на другой в формате RGBA. Сперва полагал что это полусумма, но результат оказался не тем, а с альфа каналом, дак вообще.

Допустим есть два пикселя: R1G1B1A1 и R2G2B2A2, как будет выглядеть формула расчёта каналов при наложении первого на второй?
Alex2013
долгожитель
Сообщения: 3237
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

А в чем проблема ? Что просто средние арифметическое по каждому каналу не годится ? ...Ну может добавить процент прозрачности Trans (от 0 до 100)....
RSum:= (R1 + ((R2 *100)/ Trans)) /2;
GSum:=....
BSum:=....

Или чуть быстрее ..
TK:= 100/ Trans;

RSum:= (R1 Оr (R2 *Tk );
GSum:=....
BSum:=....
Ответить