只获取一个像素值而不分配整个像素阵列

时间:2015-03-23 22:48:22

标签: java image

我只需要检查整个图像上的三个像素值(图像实例)。我真的很想在不分配像素数组的情况下这样做。

这可能吗?类似于BufferedImage' s getRGB()

1 个答案:

答案 0 :(得分:0)

是。您使用getRGB方法处于正确的轨道上,因为它将返回具有三个值(RGB)的单个int。要将单个int转换为三个int,您可以执行以下两项操作:

1。使用Color类的内置构造函数:

int rgb = img.getGraphics().getRGB(0,0);//Get color of pixel 0,0
Color c = new Color(rgb); //c now contains the r, g, and b values.

2。自己构建解码器:

int rgb = img.getGraphics().getRGB(0,0) //Get color of pixel 0,0
int r = rgb >> 24;
int g = 0 >> 16;
int b = 0 >> 8;

这两种方法都会返回rgb值,可以使用这些值。