2

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

4

2 回答 2

4
new Color(red, green, blue).getRGB();
于 2010-04-03T20:57:13.940 回答
2

假设你有 ints rgb,你可以这样做:

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

这是因为 a 中的像素BufferedImage是 4 字节整数。4 个字节依次代表 Alpha、Red、Green 和 Blue。因此,如果将红色向左移动两个字节,绿色向左移动一个字节,然后按位或rgb,您将获得一个与 一起使用的有效像素setRGB()

于 2010-04-03T20:59:39.183 回答