Как нарисовать BufferedImage с цветным оттенком
Я пытаюсь нарисовать BufferedImage
к моему Canvas
с переменным оттенком цвета, но не могу найти никаких реальных рабочих примеров.
Я не хочу создавать новый тонированный BufferedImage
, но неоднократно нарисуйте BufferedImage
на мой графический интерфейс в режиме реального времени с различными оттенками цвета, в зависимости от различных условий.
Изображение нарисовано с оттенком цвета 0xFF0000
будет отображаться как только красное изображение, а оттенок 0xFFFFFF
не повлияет на изображение.
Как бы я мог сделать такую вещь, используя Graphics2D
экземпляр моего контроля?
Заранее спасибо.
1 ответ
Может быть, ColorTintFilter из книги Filthy Rich Clients может вам помочь. Соответствующий пример главы из книги доступен здесь.
Вот фрагмент кода, который использует фильтр:
BufferedImage image = ...;
BufferedImageOp imageFilter = new ColorTintFilter(Color.RED, 1.0f);
image = imageFilter.filter(image, null);