2013-01-03 40 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();