2013-06-03 85 views
3

無法找到答案,也許它太基本。我有一個灰度BufferedImage(基本上是黑白PDF的一部分),我想在圖像上繪製一個紅色框。但是,當我這樣做並保存圖像時,紅色框呈灰色。將顏色添加到灰度BufferedImage

如何正確添加顏色到灰度BufferedImage

我想我需要將顏色模型(?)從灰度轉換爲RGB?雖然我不需要將圖像的黑白部分轉換爲彩色 - 也就是說生成的圖像可以是黑白的。只要我可以在圖像上劃一條紅線,而不需要將它保存爲灰色陰影。

圖片文件是一個GIF。

回答

4

通過使用以下代碼,我可以將RED矩形添加到灰度圖像。看看這是否適合你。否則讓我們知道你面臨的錯誤。

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")); 

    }