我正在尝试获取图像每个像素的每种颜色。 我的想法是:
int[] pixels;
BufferedImage image;
image = ImageIO.read(this.getClass.getResources("image.png");
int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData();
这是正确的吗?我甚至无法检查“像素”数组包含什么,因为我得到以下错误:
java.awt.image.DataBufferByte cannot be cast to java.awt.image.DataBufferInt
我只想把每个像素的颜色存在数组里,如何实现?
for (int i = 0; i < ss.getHeight(); i++) { for (int j = 0; j < ss.getWidth(); j++) { int clr = ss.getRGB(i, j); int red = (clr & 0x00ff0000) >> 16; int green = (clr & 0x0000ff00) >> 8; int blue = clr & 0x000000ff; } }```
- AwesomeDude3247