2012-03-20 3 views
2

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

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

Как я могу выполнить такую ​​вещь, используя экземпляр моего контроля?

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

+1

См [Рисунок изображения | Фильтрация изображений | LookupOp] (http://docs.oracle.com/javase/tutorial/2d/images/drawimage.html). –

+0

@AndrewThompson Я боюсь, что там нет ничего относительно тонировки изображения. Кажется, я говорю, что я должен использовать 'LookupOp' для достижения этого, нет примеров этого. – Acidic

ответ

4

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

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

BufferedImage image = ...; 
BufferedImageOp imageFilter = new ColorTintFilter(Color.RED, 1.0f); 
image = imageFilter.filter(image, null); 
Смежные вопросы