我正在尝试从绘制的像素中读取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
答案 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值。