1번 비트맵과 2번 비트맵이 있고 각각 픽셀값을 받아왔습니다. int[] 이형으로 받았구요
그런다음 1번 비트맵 - 2번 비트맵을 하려고하는데 픽셀값이 같으면 없어지고 다르면 남겨두게 하려고하는데
비트맵 - 비트맵이 이해가 잘안가네요 ;; 부분적으로 이미지를 빼내려고하는 작업중인데
int[] 로 뽑으셨다면 bitmap.getPixels로 뽑으신거 같은데요.
Color.alpha(int pixel), Color.red(int pixel)...
이런식으로 int형 픽셀 값에서 컬러 값을 뽑을수있는 메소드가 존재하구요.
Color.argb(A, R, G, B);
이걸로 다시 int형 픽셀값으로 만들수 있습니다.
각 픽셀값을 가지고 연산을 하려면 지원되는 메소드로는 저런거로 하시면 되구요.
아니라면 비트맵의 형식에 맞게 비트 연산으로 각 컬러값을 잘라내어 (ARGB_8888 같은게 형식임)
연산을 하시고 | 연산으로 각 값을 합쳐서 다시 만들어도 됩니다.
감사합니다 이미지에서 부분적으로 빼올 생각이라서요 그런 효과는 컬러필터에 없지안나요 제가 만들어줘야 하는걸로 아는데 그래서
위치를 고정하고 찍힐 대상만 바꾸고 그 두장의 사진을 비교해서 다른부분만 빼내올건데 비트 연산으로 되는건가요 ?
그럼 알쥐비를 안빼도 비트 연산을 한다면 어떤 식으로해야하죠;;????
int[] tmp1;
Bitmap a = BitmapFactory.decodeFile(path);
ImageView.getPixels(tmp1, 0, widht, 0, 0, width, height);
이렇게 해놨는데 굳이 각 컬러값을 뽑을 필요가 없다면?
Bitmap a = BitmapFactory.decodeFile(path);
Bitmap b = BitmapFactory.decodeFile(path);
Bitmap c = a | b ; 이런식으로 하시라는 말씀이신가요 ? 직접적으로




정확하게 질문을 잘 이해하지 못해서 샘플을 예시하지 못하겠네요..
보통 링크정도는 하는데 말이죠 ^^
비트를 비트단위에서 해결하려면 비트연산을 하는게 제일 빠릅니다.
그렇지 않으면 int 연산을 해야 하는데 int는 산술연산속도가 상당히 느리거든요..
그래서 보통 비트 마스킹 기법을 주로 사용합니다. ( 비트 연산의 & | ^ 를 주로사용 합니다.)
비트맵을 서로 겹치거나 빼거나 할때 비트단위 연산을 할때 주로 사용하죠
보통 API 레벨로 올라오게 되면 비트마스킹 기법이 되어 있는 메서드들이 있는데..
Filter 들이 이런 기능을 많이 합니다.