일부 제품을 포함 할 "항목"테이블과 해당 색상을 설정하는 필드가있는 Java EE 응용 프로그램에서 작업하고 있습니다.16 비트 변환의 상대 8 비트 색상
문제 : 사용자가 16 색 또는 128 색을 포함하는 팔레트에서 색을 선택합니다. 나는 바이트 (8 비트 컬러)와 같은 색상을 저장하고, 나는 예를 들어, 자사의 8 비트 상당와 그 반대로 RGB 색상/정수로 변환 할 수 있어야한다 : 나는 무엇을 가지고
White: 0xFF(0b 111 111 11) to -1 or (255,255,255)
Red: 0x10(0b 111 000 00) to -65536 or (255, 0, 0 )
지금까지 시도 :
void setColor(Color color){
short sColor = (color.getRGB() >> 16) & 0xFF) >> 8
| (color.getRGB() >> 8) & 0xFF) >> 8
| (color.getRGB() >> 0) & 0xFF) >> 8;
}
Color getColor(short sColor){
Color rgb = new Color(
/*red:*/ (sColor & 0xF) << 16,
/*gree:*/ (sColor & 0xF) << 8,
/*blue*/ (sColor & 0xF) << 0));
}
/* or */
Color getColor(short sColor){
Color rgb = new Color((sColor << 8) + sColor));
}
색상 값 0에서 255 사이를 반복하면 하나의 색상 변화가 발생합니다. 8 비트 색상
코드를 getColor에서 당신은 대단히 감사합니다 – AlexWien