【发布时间】:2014-11-11 10:29:41
【问题描述】:
在我使用 setRGB 将 java.awt.image.BufferedImage 的一个像素设置为一个值后,对 getRGB 的后续调用将返回一个与我设置的值不同的值。
代码:
BufferedImage image = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_GRAY);
int color1 = -16711423; // corresponds to RGB(1, 1, 1)
image.setRGB(0, 0, color1);
int color2 = image.getRGB(0, 0);
System.out.println(color1);
System.out.println(color2);
它产生以下输出
-16711423
-16777216
我认为它必须与伽玛校正有关,但我在文档中找不到任何相关内容。
理想情况下,我想更改此行为以返回与我设置的值相同的值。这可能吗?
【问题讨论】:
标签: java image image-processing awt bufferedimage