2013-01-03 68 views
-3

我想閱讀用戶使用JFileChooser選擇的圖像,然後能夠獲得顏色通道(R,G,B)和圖像的寬度和高度。如何閱讀用戶使用JFileChooser選擇的圖像文件

這是讀取所選圖像文件的正確方法。

File im1 = new File(chooser.getSelectedFile(), null);  
BufferedImage buff =ImageIO.read(im1); 

或者還有更好的方式來讀取圖像文件,以獲得其單獨的顏色通道的值,並獲得其單獨的值。

+0

不應該讀取文件路徑嗎? – Lenymm

+0

謝謝Lenymm,我可以使用所選圖像的絕對路徑,然後創建File對象 –

+0

好吧,我已經改變了我的投票。 –

回答

2

您的代碼看起來沒問題。只要繼續與寬度,高度和RGB。

File im1 = chooser.getSelectedFile();  
BufferedImage buff = ImageIO.read(im1); 

if (buff != null) { 
    System.out.println(buff.getWidth() + " " + buff.getHeight()); 
    System.out.println(buff.getRGB(0, 0)); 
} 
0

我還沒有找到任何'更好'的方式來加載圖像,所以我相信你做得對。

要回答你的整個問題,下面是如何從圖像中獲取特定顏色通道的示例。

Color c = new Color(image.getRGB()); 
int red = c.getRed(); 
int green = c.getGreen(); 
int blue = c.getBlue();