我想读取用户使用 JFileChooser 选择的图像,然后能够获取颜色通道(R,G,B)以及图像的宽度和高度。
这是读取所选图像文件的正确方法吗?
File im1 = new File(chooser.getSelectedFile(), null);
BufferedImage buff =ImageIO.read(im1);
或者是否有更好的方法来读取图像文件以获取其单独颜色通道的值并获取其单独值。
我想读取用户使用 JFileChooser 选择的图像,然后能够获取颜色通道(R,G,B)以及图像的宽度和高度。
这是读取所选图像文件的正确方法吗?
File im1 = new File(chooser.getSelectedFile(), null);
BufferedImage buff =ImageIO.read(im1);
或者是否有更好的方法来读取图像文件以获取其单独颜色通道的值并获取其单独值。
你的代码看起来不错。继续使用宽度、高度和 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));
}
我还没有找到任何“更好”的加载图像的方法,所以我相信你做得对。
为了回答您的整个问题,这里有一个如何从图像中获取特定颜色通道的示例。
Color c = new Color(image.getRGB());
int red = c.getRed();
int green = c.getGreen();
int blue = c.getBlue();