2012-01-26 3 views

답변

1

각 이미지에 대한 경계를 작성, 예를 들어, 각 이미지의 코드로 설정된 Rect가 있습니다 (위치 & 크기). 오버라이드 onDraw()가있는보기에서 onTouchListener를 뷰 자체로 설정하십시오.

onTouch()에서 event.getX()/getY()가 흰색 이미지 경계 내에 있는지 확인하십시오. 그런 다음 whiteImage.setPixel()을 사용하여 비트 맵 이미지의 개별 픽셀을 설정합니다. 또는 흰색 비트 맵 이미지 자체를 조작하는 대신 Canvas.drawPoint()를 사용하십시오.

붉은 색 사각형을 표시하지 않는 이유는 무엇입니까?

편집 : 비 정사각형 모양에 대한 의견을 보내주십시오. 나는 rect에서 터치 이벤트를 확인한 다음 모양에 맞으면 이미지로 전달합니다.

도형 내에서 (저는 비트 맵이라고 가정합니다) Bitmap.getPixel (x, y)를 수행하고 이것이 ==이면 Color.White인지 확인합니다. !

+0

Android Canvas @ http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable에 그리는 방법에 대해 자세히 알아볼 수 있습니다. – Ally

+0

이미지가 모양이 될지 미리 알지 못합니다. 사각형이나 불규칙한 모양의 직사각형 일 수 있습니다. – user1169390

+0

내 편집 참조 :) 불규칙한 모양으로 어떻게 처리 할지를 포함 시켰습니다. 성능 향상을 위해 rect를 계속 사용하면 픽셀 검사를 항상 원하지 않습니다. 단순 경계 먼저, 개별 픽셀에 대한 픽셀 – Micky

관련 문제