2012-11-19 6 views
0

내 앱의 일부는 나중에 PDF로 묶을 사용자 그림 이미지를 포함합니다. 사용자는 자유롭게 전체 화면을 그릴 수 있습니다. 일단 사용자가 그리기를 마친 후에는 이미지를 PDF에 추가하기 전에 공백을 모두 없애고 싶습니다. 이것은 내가 문제가있는 곳입니다. 나는 트리밍 가능한 흰 공간의 위치를 ​​결정하는 두 가지 다른 방법을 생각해 보았고 둘 다 서투른 것처럼 보인다.사용자가 그려 넣은 이미지에서 공백을 자르기

이벤트가 지금까지 상자 밖에있을 경우 내 첫 번째 생각에는 스타일러스 레코드의 모션 이벤트가 발생했습니다. 그것이 있다면, 나는 이것을 수용 할 수있는 상자를 확장 할 것이다. 불행히도 성능 이벤트가 나쁠 때마다 폴링을 볼 수있었습니다. 사용자가 문자 V와 같은 것을 그릴 수 있기 때문에 위아래로 이벤트를 볼 수 없습니다.

그런 다음 모든 픽셀을 볼 수 있고 (getPixel() 사용) 가장 높은, 가장 낮은, 오른쪽 및 왼쪽 검정 픽셀은 있습니다. 다시 이것은 박스를 찾는 것이 비효율적 인 방법처럼 보입니다. 성능 향상을 위해 픽셀을 건너 뛸 수는 있지만 너무 많이 건너 뛸 수는 없습니다.

내가하고 싶은 일을하는 표준 방법이 있습니까? 나는 아무것도 찾을 수 없었다.

답변

1

사용자가 그림을 그리는 경우 그리기 이벤트를 캡처하기 위해 onTouchEvent 콜백을 처리하지 않았습니까? 그렇다면 minX, maxX, minY 및 maxY를 유지하고 각 기록 된 드로잉 이벤트를이 값과 비교하여 점검해야합니다.

+0

방금 ​​시도했지만 괜찮습니다. 이상하게 느껴졌지만 성능 저하가 없었습니다. 고맙습니다. – clavio

2

편집자가이 픽셀을 그려 놓은 곳을 기록하고 최대 및 최소 X 및 Y를 업데이트 한 다음 나중에 이미지를자를 수 있습니다.

+0

그게 내가 대답하고 싶었던 것입니다. 최대 X 및 Y를 확인하고 다른 것을 제거하십시오. – Goot

관련 문제