Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Я взялся за написание своей реализации AlphaBlend функции не веря в то, что смогу победить ребят из майкрософта. Это был просто спортивный интерес, который, тем не менее, дал результат.А вот это вы зря. «Ребята из майкрософта» (Apple, Google, Intel'а — выберите себе компанию по вкусу) могут, конечно, сделать версию, которая будет супер-пупер быстрой и классной — но у них уйдёт на это немало времени. А когда у вас есть тысячи других задач и десятки (или уже сотни?) миллионов строк кода, то до всего руки просто не доходят.

NewColor = DstColor * (1 - SrcAlpha) + SrcColor * SrcAlpha;
NewColor = DstColor - DstColor * SrcAlpha + SrcColor * SrcAlpha;
NewColor = DstColor + SrcAlpha * (SrcColor - DstColor);
//после деления на 255:
NewColor = (DC/255 + SA/255 * (SC/255 - DC/255))*255
NewColor = (SC - DC) * SA/255 + DC
Смешиваем цвета правильно или оптимизируем AlphaBlend