8 비트에서 6 비트로 RGB 색상을 양자화하고 싶습니다. 나는 다음과 같은 자바 코드를 작성 :8 비트에서 6 비트로 RGB 색상 양자화
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);
에 :
int pix = 0xff000000 | ((r & 0xff) << 12) | ((g & 0xff) << 6) | (b & 0xff);
내가, 내가 '돈 채널 당 픽셀 당 6 개 비트를 의미한다고 생각 원인 내 이해가 옳고 그른지, 출력 이미지가 정말로 이상하다는 것을 알지 못한다. 나는 누군가가 나를 여기 놀이에 두 가지 문제가 있습니다