在我的程序中,我使用 java Robots 方法:robot.getPixelColor(x, y);
由于这是 sRGB 色彩空间,我使用以下代码将其转换为 RGB 色彩空间。
当我打开 MS Paint 并将所有内容涂成黑色时,我的 java 程序打印 2, 2, 2
而不是预期的 0, 0, 0
。
int pixelColor = robot.getPixelColor(x, y).getRGB();
int blue = pixelColor & 0xff;
int green = (pixelColor & 0xff00) >> 8;
int red = (pixelColor & 0xff0000) >> 16;
System.out.println(red+", "+green+", "+blue);
最佳答案
我使用了 2 个不同的外部程序,似乎我的显示器显示了错误的颜色,因为黑色显示为 1, 1, 1 (0, 0, 0)。
修复: 重置您的 AMD/Nvidia 驱动程序颜色设置,然后重新启动您的电脑。
关于java - robots.getColorPixel() 返回错误的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59633474/