Если у вас есть целые числа r
, g
и b
, вы можете сделать:
int pixel = (r << 16) | (g << 8) | b;
Это потому, что пиксели в BufferedImage
являются 4-байтовыми. 4 байта представляют альфа, красный, зеленый и синий, в этом порядке. Таким образом, если вы сместите красный влево на два байта, а зеленый влево на один байт, а затем поразрядно или r
, g
и b
, вы получите правильный пиксель для использования с setRGB()
.