본문 바로가기
Development/Android

[안드로이드] BItmap 이미지 흑백 만들기

by 푸민 2015. 11. 2.
반응형


안녕하세요 푸민입니다.

안드로이드 내에서 흑백이미지변환이 가능한데요. 한번 알아볼까요?


int = inBitmap.getWidth(); //가로 길이를 불러온다

int = inBitamp.getHeight(); //세로 길이를 불러온다

int size = * h; //총 크기를 구한다.

 

int [] pixels = new int[size]; // 크기만큼 픽셀 배열을 설정한다.

 

inBitmap.getPixels(pixels, 0, w, 0, 0, w, h); // 해당 Bitmap의 픽셀을 가져온다.

 

for(int i = 0 ; i < size ; i++){ // 픽셀 수 만큼 반복한다.

int color = pixels[i]; // 해당 픽셀의 컬러값을 가져온다.

 

int r = (color >> 16) & 0xFF; // red에 해당하는 정보를 가져온다.

int g = (color >> 8) & 0xFF; // green에 해당하는 정보를 가져온다.

int b = (color) & 0xFF; // blue 에 해당하는 정보를 가져온다.

 

r *= 76; // 색을 조정한다.

g*= 151;

b*= 29;

 

int y = (r + g + b) >> 8; //휘도를 조정한다.

 

pixels[i] = y | (y << 8) | (y << 16) | (c & 0xFF000000); 해당 픽셀에 값을 저장한다.

}

 

// 픽셀 데이터를 이용하여 Bitmap에 설정한다.

outBitmap.setPixels(pixels, 0, w, 0, 0, w, h);


반응형

댓글