Сегодня, работая с проектом консоли, реализованной на STM32F407, столкнулся с проблемой рисования графических элементов с процентным соотношением смешивания самого элемента и фонового графического изображения под ним (фона).
Непрозрачный чайник |
Прозрачный чайник |
Для реализации данной задачи, достаточно одной очень простой формулы.
В проекте консоли, цвета представляются в формате RGB. Будем брать в процентном соотношении коэффициент прозрачности (от 0.0 до 1.0) и разность 1 и коэффициента прозрачности фона. Формулу применяем и для R, и для G, и для B. Вот что получилось в итоге:
NEW.R = FIGURE.R * ALPHA + BACKGROUND.R * (1 - ALPHA)
NEW.G = FIGURE.G * ALPHA + BACKGROUND.G * (1 - ALPHA)
NEW.B = FIGURE.B * ALPHA + BACKGROUND.B * (1 - ALPHA)
где NEW - это результирующий цвет смешивания, FIGURE - цвет фигуры (которая накладывается), BACKGROUND - цвет фона, на который накладывается фигура (изображение).
Вот собственно и всё.
Вот собственно и всё.
No comments :
Post a Comment