두 개의 이미지가 있습니다. 빨간색 직사각형의 이미지이며 이미지는 모두 흰색입니다. 다른 이미지가 빨간색 사각형 인 경우에만 흰색 이미지에 손가락으로 칠하고 싶습니다. 빨간색 직사각형이있는 이미지가 보이지 않아야합니다. 어떻게하면됩니까?안드로이드 - 손가락으로 특정 영역에만 비트 맵을 페인트하십시오.
0
A
답변
1
각 이미지에 대한 경계를 작성, 예를 들어, 각 이미지의 코드로 설정된 Rect가 있습니다 (위치 & 크기). 오버라이드 onDraw()가있는보기에서 onTouchListener를 뷰 자체로 설정하십시오.
onTouch()에서 event.getX()/getY()가 흰색 이미지 경계 내에 있는지 확인하십시오. 그런 다음 whiteImage.setPixel()을 사용하여 비트 맵 이미지의 개별 픽셀을 설정합니다. 또는 흰색 비트 맵 이미지 자체를 조작하는 대신 Canvas.drawPoint()를 사용하십시오.
붉은 색 사각형을 표시하지 않는 이유는 무엇입니까?
편집 : 비 정사각형 모양에 대한 의견을 보내주십시오. 나는 rect에서 터치 이벤트를 확인한 다음 모양에 맞으면 이미지로 전달합니다.
도형 내에서 (저는 비트 맵이라고 가정합니다) Bitmap.getPixel (x, y)를 수행하고 이것이 ==이면 Color.White인지 확인합니다. !
관련 문제
- 1. 비트 맵에 9 패치를 페인트하십시오.
- 2. 컨트롤러를 특정 영역에만 제한
- 3. 안드로이드 도움말에서 비트 맵을 뒤집습니까?
- 4. 안드로이드 비트 맵을 그리드에 맞추기
- 5. 안드로이드 - 회전 된 비트 맵을 캔버스의 특정 위치로 페인트
- 6. 내 비트 맵을 사용하여 비트 맵을 만듭니다.
- 7. Android : 비트 맵을 어떤 경로로 그리는 방법?
- 8. 안드로이드 : 패딩은 흰색으로 비트 맵을 남겼습니다
- 9. 안드로이드 - decodeResource는 화면 밀도를 위해 비트 맵을 스케일링합니까? 안드로이드 개발에
- 10. 비트 맵을 만드는 OutOfMemoryError
- 11. 안드로이드 : 안드로이드 장방형 비트 맵을 드래그하면 새로운 X를 사용하지 않고 맵을 드래그, Y는 새로운 중심
- 12. 메모리에서 비트 맵을 빠르게 언로드하십시오.
- 13. 내가 여기 ActivityB까지 비트 맵을 전달하려는 ActivityA에서 비트 맵을 다른
- 14. 안드로이드 비트 맵 재사용
- 15. 비트 맵을 HTML에 추가
- 16. 비트 맵을 문자열로 변환
- 17. 비트 맵을 MemoryStream에 저장
- 18. 비트 맵을 얻는 방법
- 19. 비트 맵을 축소판으로 변환
- 20. RGBA 비트 맵을 PIL로로드
- 21. 비트 맵을 Jpeg로 인코딩
- 22. 어떻게 비트 맵을 구현합니까?
- 23. 비트 맵을 가로로 뒤집기
- 24. 비트 맵을 이미지로 변환
- 25. 비트 맵을 생성하고 그립니다.
- 26. 비트 맵을 단색으로 변환
- 27. 비트 맵을 파일로 저장
- 28. 비트 맵을 번들로 묶기
- 29. 비트 맵을 빠르게 표시합니다.
- 30. 비트 맵을 Format24bppRgb로 변환
Android Canvas @ http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable에 그리는 방법에 대해 자세히 알아볼 수 있습니다. – Ally
이미지가 모양이 될지 미리 알지 못합니다. 사각형이나 불규칙한 모양의 직사각형 일 수 있습니다. – user1169390
내 편집 참조 :) 불규칙한 모양으로 어떻게 처리 할지를 포함 시켰습니다. 성능 향상을 위해 rect를 계속 사용하면 픽셀 검사를 항상 원하지 않습니다. 단순 경계 먼저, 개별 픽셀에 대한 픽셀 – Micky