2013-06-03 2 views
3

Невозможно найти ответ на этот вопрос, возможно, слишком простой. У меня серая шкала BufferedImage (в основном раздел из черно-белого PDF), и я хотел бы нарисовать красную рамку на изображении. Однако, когда я делаю это и сохраняю изображение, красная рамка появляется как серая.Добавить цвет в оттенки серого BufferedImage

Как правильно добавить цвет к шкале серого BufferedImage?

Возможно, мне нужно преобразовать цветовую модель (?) Из шкалы серого в RGB? Хотя мне не нужно преобразовывать черно-белые части изображения в цвет, т. Е. Получившееся изображение может быть черно-белым. Пока я рисую красную линию на изображении, не сохраняя ее как оттенок серого.

Файл изображения - GIF.

ответ

4

Используя следующий код, я мог бы добавить RED прямоугольник в полутоновое изображение. Посмотрите, работает ли это для вас. Else сообщите нам, с какой ошибкой вы столкнулись.

public static void main(String[] args) throws IOException { 
BufferedImage old = ImageIO.read(new File("download.gif")); 
int w = old.getWidth(); 
int h = old.getHeight(); 

BufferedImage img = new BufferedImage(
     w, h, BufferedImage.TYPE_INT_ARGB); 

Graphics2D g2d = img.createGraphics(); 
g2d.drawImage(old, 0, 0, null); 
g2d.setColor(Color.red); 
g2d.drawRect(10, 10, 100, 100); 
g2d.dispose(); 

    ImageIO.write(img, "gif", new File("out.gif")); 

    } 
Смежные вопросы