Java中的BufferedImage是否存在MapRGB的等价性?

时间:2010-04-03 20:52:22

标签: java bufferedimage

我正在尝试使用BufferedImagesetRGB()(TYPE_INT_RGB)中的单个像素着色,但我不确定如何格式化RGB值。我希望结果为一个整数。是否有一种方法需要三个int值(红色,绿色,蓝色)并为setRGB()返回格式正确的整数?

2 个答案:

答案 0 :(得分:4)

new Color(red, green, blue).getRGB();

答案 1 :(得分:2)

假设您有rgb,请执行以下操作:

int pixel = (r << 16) | (g << 8) | b;

这是因为BufferedImage中的像素是4字节的整数。 4字节按顺序表示Alpha,Red,Green和Blue。因此,如果您将红色左移两个字节并将绿色左移一个字节,然后按位 - 或rgb,您将获得一个与{一起使用的有效像素{1}}。