Имеется три картинки (если быть проще, три пиксела), размещённые один над другим. P1 над P2 над P3.
Каждый пиксел представлен в виде ARGB.
Где A - alpha (уровень не прозрачности пиксела - на сколько пиксел не прозрачен). То-есть 0 - полностью прозрачен, 1 - полностью не прозрачен.
Чтобы упростить будем использовать только одну составляющую цвета и назовём её C (Color).
Соответственно мы имеем:
A1C1 над A2C2 над A3C3
Чтобы получить конечный пиксел нужно наложить пикселы в одной из нижеследующих последовательностей:
1. A1C1 на A2C2 и затем результат на A3C3;
2. A2C2 на A3C3 и затем A1C1 на результат.
И в том и в другом случае результат один и тот же.
Давайте назовём промежуточный результат T ( temporary).
А результат будет R.
тогда для первого случая:
TC = C1*A1 + C2*(1-A1);
RC = TC*TA + C3*(1-TA);
к сожалению нам не извесна в этом случае TA.
для второго случая:
TC = C2*A2 + C3*(1-A2);
RC = C1*A1 + TC*(1-A1);
здесь мы можем найти результирующий цвет.
Так вот задача в том чтобы расчитать TA для первого случая.
Сразу хочу сэкономить ваше время ибо приравнивание результатов первого и второго случая приводят к зависимости TA от C3 что ни есть верно. TA должен состоять из A1 и A2. Вопрос как

И ещё. Я задачку пока не решил, поэтому приведённые выше выкладки могут быть взяты под сомнение. Хотя в формуле
RC = C1*A1 + C2*(1-A1) надеюсь никто сомневаться не будет - она широкоизвестна.
Ну чтож, удачи
