我只需要检查整个图像上的三个像素值(图像实例)。我真的很想在不分配像素数组的情况下这样做。
这可能吗?类似于BufferedImage
' s getRGB()
?
答案 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;
这两种方法都会返回r
,g
和b
值,可以使用这些值。