从Java中的像素读取RGB值

时间:2018-10-06 11:49:29

标签: java image colors rgb pixel

我正在尝试从绘制的像素中读取RGB值,但我只能得到一个值。当我尝试获取alpha,红色,绿色和蓝色的值时,除我实际获得值的蓝色外,它始终对每个值都表示“ 0”,并且该值始终与“ rgb”相同。我的代码如下所示,如果您能想到一个解决方案,我将不胜感激。

int rgb = image.getRGB(250, 10);
rgb = rgb/-65793;
System.out.println(rgb);
Color färg = new Color(rgb, true);
int r = färg.getRed();
int g = färg.getGreen();
int b = färg.getBlue();
int a = färg.getAlpha();
System.out.println(r);
System.out.println(g);
System.out.println(b);
System.out.println(a);

打印内容如下:

38
0
0
38
0

2 个答案:

答案 0 :(得分:2)

无需对二进制值进行除法。

尝试一下:

as.list(c(vif_22,vif_23,vif_24,vif_25,vif_26,vif_27,vif_28,vif_29,vif_30,vif_31,vif_32,vif_33,vif_34,vif_35,vif_36,vif_37))

答案 1 :(得分:1)

BufferedImage bi = ...;
int x = ..;
int y = ..;
Color converted = new Color(bi.getRGB(x, y));

您不必除以RGB值。