Bupyc » 26.11.2009 20:25:10
Вообщем, если я правильно понял код, который писал мой коллега, то, что бы наложить один пиксел на другой надо сделать следующее:
Пусть alpha - значение от 0 до 1 определяющее степень прозрачности. Раскладываем каждый из пикселов на R,G,B составляющие. Назовём их R1,R2, G1,G2, B1,B2. Результирующие RGB составляющие будут вычисляться по формулам:
R := Trunc(R1 * alpha + R2 * (1 - alpha))
G := Trunc(G1 * alpha + G2 * (1 - alpha))
B := Trunc(B1 * alpha + B2 * (1 - alpha))
У моего коллеги еще стоит проверка:
if R > 255 then R := 255;
if G > 255 then G := 255;
if B > 255 then B := 255;
Правда, я не уверен, что она нужна.
Как получить цвет из рассчитанных RGB, думаю, объяснять не надо.