Как нарисовать BufferedImage с цветовым оттенком

Я пытаюсь нарисовать BufferedImage на моем Canvas с разным цветовым оттенком, но не могу найти реальных рабочих примеров.

Я не хочу генерировать новый оттенок BufferedImage, но постоянно рисую BufferedImage в своем графическом интерфейсе в режиме реального времени с различными цветовыми оттенками, в зависимости от различных условий.
Изображение, нарисованное с цветом оттенка 0xFF0000, будет отображаться как изображение только красного цвета, в то время как оттенок цвета 0xFFFFFF не повлияет на изображение.

Как мне добиться такого, используя экземпляр Graphics2D моего элемента управления?

Заранее спасибо.


person Acidic    schedule 20.03.2012    source источник
comment
comment
@AndrewThompson Боюсь, что там ничего нет о тонировке изображения. Кажется, я должен использовать LookupOp для этого, примеров нет.   -  person Acidic    schedule 21.03.2012


Ответы (1)


Возможно, ColorTintFilter из книги Filthy Rich Clients. Соответствующий пример главы из книги доступен здесь.

Вот фрагмент кода, использующий фильтр:

BufferedImage image = ...;
BufferedImageOp imageFilter = new ColorTintFilter(Color.RED, 1.0f);
image = imageFilter.filter(image, null);
person tenorsax    schedule 25.03.2012