java - 从 ColorModel 获取 RGB 分量

标签 java colors rgb pixel raster

我想提取图像像素的R、G和B值。我通过两种方式做到这一点。

File img_file = new File("../foo.png");
BufferedImage img = ImageIO.read(img_file);

第一种方法(效果很好):

img.getRaster().getPixel(i, j, rgb);

第二个方法(抛出 new IllegalArgumentException("每个像素多个组件"))

red = img.getColorModel().getRed(img.getRGB(i, j));

造成这种行为的原因是什么?

最佳答案

通常当我想从 BufferedImage 中提取 RGB 时,我会这样做:

File img_file = new File("../foo.png");
BufferedImage img = ImageIO.read(img_file);

Color color = new Color(img.getRGB(i,j));
int red = color.getRed();

关于java - 从 ColorModel 获取 RGB 分量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21667592/

相关文章:

java - 我无法在 Java 中创建泛型数组类型的原因是什么?

java - gwtupload 用于 gwt 2.5.1 通用文件上传

java - 我如何获得 LinearLayout,其中组件在 Swing 中彼此堆叠?

jQuery - 将具有颜色属性的类添加到链接

javascript - 如何在java中为颜色设置范围?

winapi - GDI - 我可以在 DrawText 中使用新的 Windows 10 Segoe UI 表情符号彩色字体吗?

java - 我应该将 BufferedImage.TYPE_4BYTE_ABGR 转换为 BufferedImage.TYPE_3BYTE_BGR 吗?

java - 计划结束时删除 Derby table

python - 将 RGB 图像转换为黑白图像

python - 从 Pandas 中的红色列、绿色列和蓝色列创建十六进制列