Программа настроить прозрачное изображение для зеленого экрана

в качестве забавного небольшого проекта я пытаюсь создать программу «наложения».
Возможно, вы слышали о программе «открытое программное обеспечение для вещателей».
Это потоковая программа, которая может «записывать» окна и применять к ним «цветовой ключ» (делая определенный цвет прозрачным)

У меня есть программа, которая создает окно с зеленым фоном, выступающим в роли зеленого экрана. В этом окне я хочу, чтобы изображения появлялись, исчезали и двигались.

Пока все хорошо, однако проблема возникает с прозрачными изображениями. Они имеют цветовой оттенок поверх них, потому что цветовой ключ пытается удалить или сгладить цвета.

Итак, мой вопрос; Есть ли способ программно добавить цвет к изображению или усилить другие цвета, чтобы цветовой ключ вместо этого отображал оригинал?

С уважением, ЖБ


person Jordy Brinks    schedule 30.09.2015    source источник


Ответы (1)


Рендеринг почти полупрозрачного изображения на фоне, показывающем, что фоновый цвет сияет впадиной, — это вся точка прозрачности.

Вы ничего не можете сделать, не жертвуя тем или иным образом прозрачностью. С помощью java.awt.AlphaComposite можно добиться нескольких полезных эффектов, но я не уверен, что какой-либо из эффектов подойдет вам по вкусу.

Вы можете предварительно обработать изображения и изменить полупрозрачность на простую прозрачность/непрозрачность (например, изменить альфа-канал для каждого пикселя на newAlpha = oldAlpha < threshHold ? 0x00 : 0xFF). Выбор красивого порогового значения может быть сложным (не существует универсального решения для всех). Излишне говорить, что это приведет к падению воспринимаемого качества изображения.

person Durandal    schedule 30.09.2015