Страницы

Поиск по вопросам

вторник, 4 июня 2019 г.

Наложение цветов, C#

У меня есть два изображения - А и Б, которые я хотел бы сложить.
Причем они должны складываться таким образом, чтобы получилось как "слои" в фотошопе/паинтнете - то есть изображение А позади изображения Б.
Беда в том, что в изображении Б используется прозрачность.
Как следствие пиксель должен трансформировать по какой то формуле, но я не смог вычислить самостоятельно как именно.
Если у изображения Б пиксель прозрачен, то мы юзаем пиксель А
Если у изображения Б пиксель сплошной, то мы юзаем пиксель Б
А как мы получаем пиксель например с половиной прозрачности?


Ответ

Почему бы не так: если alpha — прозрачность пикселя верхней картинки, то результирующий пиксель есть средневзвешенное пикселя верхней картинки с весом alpha, и нижней с весом (1 - alpha)?

Комментариев нет:

Отправить комментарий