2012-04-21 4 views
0

쉽습니다.Android : 주문형 마스킹 2 비트 맵이 하나 위에 다른 레이어

나는 결국 원하는 것은 :

a busy cat

내가보기에 오버레이 2 비트 맵을 갖고 싶어. 위의 비트 맵과 동일한 비트 맵은 아래보다 높은 밝기를가집니다.

이제 사용자가 상위 비트 맵에서 터치 이벤트 (페인트 브러시와 같은)를 사용하여 스트로크 할 때 상위 비트 맵의 ​​해당 부분을 보이지 않게하려고합니다.

어도비 포토샵에 익숙한 사람들에게는 아마도 더 의미가 있습니다. 표시되는 이미지 위에 마스크를 그려서 마스크 처리되지 않은 부분 만 표시되도록하고 싶습니다. 그러나 마스크는 다양한 경도/크기의 브러시에서 그릴 수 있습니다.

이 기능을 어떻게 수행합니까? 조사하거나 샘플 코드를 제공해야하는 라인에 직접 들어가십시오.

또한 경도가 가변 인 브러시로 이미지 뷰에 획을 그릴 수 있습니까? 저는 캔버스에 drawPath와 drawArc를 할 수 있다는 것을 알고 있지만, 다른 브러시 스트로크/스타일을 얻는 방법을 모르겠습니다.

제 질문을 올바르게 말하지 않았거나 유사한 중복을 찾을 수 없다면 저를 용서하십시오.

답변

0

FrameLayout을 사용하면 Android에서 이미지를 오버레이하고 맞춤 마스킹으로 Google에서 FingerPaint를 검색 할 수 있습니다.

+0

응답 해 주셔서 감사합니다.하지만 맞춤 스트로크 등으로 마스킹하는 것은 어떻습니까? – Heartache

+0

"맞춤 마스킹"이란 무엇입니까? –

+0

사각형이나 타원과 같은 규칙적인 패턴으로 이미지를 마스킹하지 않는 것을 의미합니다. 사용자는 자신의 손가락을 상위 비트 맵으로 드래그하여 Microsoft Paint의 지우개 도구처럼 보이지 않게 할 수 있습니다. – Heartache

0

나는 가장 좋은 방법은 자신의 오프 스크린 합성을 한 다음 ImageView 또는 아마도 사용자 정의 상호 작용이있는 하위 클래스를 사용하여 합성 된 이미지를 렌더링하는 것이라고 생각합니다. Porter-Duff 전송 모드를 사용하여 이러한 합성을 수행하는 방법에 대한 예는 this sample code을 참조하십시오.

관련 문제