RGB 색상 표시 방법, red = (rgb & 0x00ff0000)>> 16은 무슨 뜻입니까?

RGB 색상은 빨간색(Red), 녹색(Green), 파란색(Blue) 세 가지 원색으로 구성되어 있기 때문에 R, G, B의 각 수치가 0-255사이에 있는 구체적인 색상을 나타내는 데 이 세 가지 색상의 조합을 사용할 수 있다.색상을 표현할 때 세 개의 숫자를 사용하거나 0X00RRGGBB와 같은 16진수를 사용하여 표현할 수 있습니다. 다음은 일반적인 색상의 표현입니다.
빨간색: (255,0,0) 또는 0x00FF0000
녹색: (0255,0) 또는 0x0000FF00
파란색: (255255255) 또는 0x00FFFF
안드로이드 컬러 이미지 프로세서를 작성할 때 이미지에 대해 그레이스케일과 이치화 처리를 해야 하기 때문에 많은 부분을 이해하지 못한다. 다른 사람의 코드를 참고하면 이런 표현을 볼 수 있다.
4
red = (rgb & 0x00ff0000) >> 16;
먼저 색상 값과 16진법이 표시한 00ff0000을'와'연산했다. 연산 결과 빨간색을 나타내는 숫자 값을 제외하고 GBB의 일부 색상은 모두 0으로 결과를 오른쪽으로 16자리 이동시켜 빨간색 값을 얻었다.그래서 이 코드는 주로 한 색깔에서 그 구성색인 빨간색의 값을 추출하는 데 쓰인다.
4
int color = 0x0012faff;
예를 들어 우리는 위에서 보듯이 색깔을 얻었다.그러면 다음 코드의 결과는 18이 될 것입니다. 0x12의 10진법 표시 값입니다.
4
int redOnly = color & 0x00ff0000;
System.out.println(redOnly >> 16);
마찬가지로 우리는 다음 코드를 통해 그린과 블루의 값을 얻을 수 있다.
int green = (color & 0x0000ff00) >> 8; // 250 = 0xfa
int blue = (color & 0x000000ff); // 255 = 0xff

좋은 웹페이지 즐겨찾기