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

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

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

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

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

С уважением, JB

1 ответ

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

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

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

Другие вопросы по тегам