2014-04-05 2 views

답변

2

위키 백과의 사진 :

ARGB representation on little-endian architecture

little-endian 아키텍처에서 32 비트 ARGB 정수의 바이트 레이아웃을 보여줍니다.

반면 그림은 big-endian 같은 ARGB의 레이아웃에 해당합니다.

그래서 대답은 두 그림이 모두 정확하다는 것입니다. 메모리의 비트 주소 지정 측면에서 다른 아키텍처를 고려한 것입니다.

ARGB를 들어, A는, 초 가장 중요한 ... 그리고 B는 다음과 같이 찾을 수 있습니다에서 32 비트 값, R의 가장 중요한 바이트는 관계없이 엔디안의,입니다에 대해 관심을 가져야 무엇 최하 정도의 Byte

그래서 "endian"플랫폼의 유형에 관계없이 해당 비트 이동 작업으로 올바르게 추출 할 수 있습니다. 이 A, RG는 역순으로 B 바이트 (심지어 올바르게 주소)를 표시하기 때문에

편집 는 사실, 질문의 그림은 나에게 이상한 것 같다. 위키 피 디아에서 열렬한 혼란까지 다이어그램을 고수하는 것이 좋습니다.

귀하의 코멘트 응답 : 사용자의 필요에 따라 사용하는 어느

case TYPE_INT_BGR: 
     { 
      colorModel = new DirectColorModel(24, 
                0x000000ff, // Red 
                0x0000ff00, // Green 
                0x00ff0000 // Blue 
                ); 

을,하지만 난 당신과 함께 괜찮을 것 같아요 것 : TYPE_INT_RGB에 비해 rgb 색상의 자바의 TYPE_INT_BGR 반전했다 인코딩을 java.awt.image.BufferedImage.java 참조 RGBARGB.

도움이 되길 바랍니다.

+0

자바 API에는 TYPE_INT_BGR과 TYPE_INT_RGB 두 가지가 있습니다. 둘 다 서로 다른 순서입니까 ?? –

+1

답변을 업데이트했습니다. 네, 그 유형은 순서가 다릅니다. 가장 널리 사용되는'RGB'와'ARGB'를 고집 할 것을 제안합니다. – kiruwka

관련 문제