【发布时间】:2014-12-08 00:18:31
【问题描述】:
在挥杆测试示例中,我遇到了一种奇怪的颜色行为。正如您在代码中看到的,颜色是红色 200、绿色 200 和蓝色 200。当我捕获屏幕并捕获颜色时,结果是红色 210、绿色 210 和蓝色 210。非常奇怪。在某些情况下这不是问题,但在其他情况下是。
这是在 MacOSX 10.10.1 和 java 1.6 中测试的。我还在旧版本的 MacOSX 中进行了测试,结果相同。
有什么想法吗?
谢谢
带有测试结果的图片:http://picpaste.com/Screen_Shot_2014-12-08_at_00.21.37-85tIkP30.png
public class ColorTest {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setBackground(new Color(200, 200, 200));
frame.add(panel);
frame.setMinimumSize(new Dimension(800, 600));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
【问题讨论】:
-
不同的操作系统、屏幕、显卡有不同的色域。 java 色域可能与 MACOS 色域不同,并且正在发生转换。
-
或者您的图像查看器可能会采用其他颜色空间,这可能是 srgb 与 adobe rgb 的问题