如何将颜色打印为 RGB
How to print color as RGB
如何打印 RGB 格式的颜色?我正在使用 Robot(java.awt)
获取屏幕上随机像素的颜色,我想将其打印为 RGB。所以如果像素完全是红色,输出应该是
rgb(255, 0, 0)
有什么我可以做的吗?我应该获得单独的红绿蓝值(我该怎么做)?这是我到目前为止得到的:
public static void main(String[] args) {
Random rand = new Random();
Robot r = null;
int screenHeight = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int screenWidth = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
try {
r = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
Color pixelColor = r.getPixelColor(rand.nextInt(screenHeight), rand.nextInt(screenWidth));
System.out.println(pixelColor);
System.exit(0);
}
但它输出这个(随机示例):
java.awt.Color[r=222,g=228,b=239]
编辑:我也试过使用 getRGB()
但它仍然不起作用。
//...
Color pixelColor = r.getPixelColor(rand.nextInt(screenHeight), rand.nextInt(screenWidth));
System.out.println(pixelColor.getRGB());
//...
但它输出(随机示例):
-723724
这些数字是什么意思?
让我们先来看一个非常简单的测试
Color color = Color.RED;
System.out.println(color);
System.out.println(color.getRGB());
System.out.println(color.getRed() + ", " + color.getGreen() + ", " + color.getBlue());
输出
java.awt.Color[r=255,g=0,b=0]
-65536
255, 0, 0
第一个是 Color
对象 toString
方法,它为您提供有关 class 和属性的信息,如您所见,red
属性 是 255
第二个是整数打包值(红色、绿色和蓝色(以及 alpha)属性全部打包到一个 int
值中)
显然,最后一个是颜色的每个 属性,这似乎是您真正想要的。
我认为你应该做的是去读一读 JavaDocs on the Color
class 这样你就可以更好地理解它提供的信息,而不是随机地挑选你认为它应该提供的内容
如何打印 RGB 格式的颜色?我正在使用 Robot(java.awt)
获取屏幕上随机像素的颜色,我想将其打印为 RGB。所以如果像素完全是红色,输出应该是
rgb(255, 0, 0)
有什么我可以做的吗?我应该获得单独的红绿蓝值(我该怎么做)?这是我到目前为止得到的:
public static void main(String[] args) {
Random rand = new Random();
Robot r = null;
int screenHeight = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int screenWidth = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
try {
r = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
Color pixelColor = r.getPixelColor(rand.nextInt(screenHeight), rand.nextInt(screenWidth));
System.out.println(pixelColor);
System.exit(0);
}
但它输出这个(随机示例):
java.awt.Color[r=222,g=228,b=239]
编辑:我也试过使用 getRGB()
但它仍然不起作用。
//...
Color pixelColor = r.getPixelColor(rand.nextInt(screenHeight), rand.nextInt(screenWidth));
System.out.println(pixelColor.getRGB());
//...
但它输出(随机示例):
-723724
这些数字是什么意思?
让我们先来看一个非常简单的测试
Color color = Color.RED;
System.out.println(color);
System.out.println(color.getRGB());
System.out.println(color.getRed() + ", " + color.getGreen() + ", " + color.getBlue());
输出
java.awt.Color[r=255,g=0,b=0]
-65536
255, 0, 0
第一个是 Color
对象 toString
方法,它为您提供有关 class 和属性的信息,如您所见,red
属性 是 255
第二个是整数打包值(红色、绿色和蓝色(以及 alpha)属性全部打包到一个 int
值中)
显然,最后一个是颜色的每个 属性,这似乎是您真正想要的。
我认为你应该做的是去读一读 JavaDocs on the Color
class 这样你就可以更好地理解它提供的信息,而不是随机地挑选你认为它应该提供的内容