Я хочу квантовать цвет RGB от 8 бит до 6 бит. Я написал Java-код следующим образом:RGB Цветное квантование от 8 бит до 6 бит
int ind = 0;
for(int y = 0; y < height; y++){
for(int x = 0; x < width; x++){
byte a = 0;
byte r = bytes[ind];
byte g = bytes[ind+height*width];
byte b = bytes[ind+height*width*2];
int pix = 0xff000000 | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff);
img.setRGB(x,y,pix);
ind++;
}
}
Затем я изменил:
int pix = 0xff000000 | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff);
To:
int pix = 0xff000000 | ((r & 0xff) << 12) | ((g & 0xff) << 6) | (b & 0xff);
, потому что я думаю, что это означает, 6 бит на пиксель на канал, я не» я знаю, что мое понимание правильное или неправильное, и выходное изображение действительно странно. Я надеюсь, что кто-то может помочь мне понять это