저는 그래픽 워크 플로 편집기 인 "실제"안드로이드 응용 프로그램을 처음으로 작업하고 있습니다. 드로잉은 View 클래스의 하위 클래스 인 사용자 정의 클래스에서 수행됩니다. 이때 요소는 캔바스에 그려진 사각형입니다. 요소의 동작을 감지하기 위해 좌표를 비교하고 터치 위치의 요소를 확인합니다. 사용자 정의보기의 중심 확대 - 캔버스 좌표 계산
내가 4 인수 canvas.scale (...)를 중심으로 줌 잘 작동 기능 http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html을 시도 줌 제스처를 구현하기 위해,하지만 난 캔버스를 계산하는 능력을 잃게 mPosX 오프셋 사용하여 좌표 줌 후 터치가 요소에 있는지 여부를 감지하는 mPosY. 내가 오프셋 참조를 잃지 않고이 작업을 수행 할 수있는 방법에 대한 예를 찾을 수 없습니다
canvas.save();
canvas.translate(mPosX, mPosY);
canvas.scale(mScaleFactor, mScaleFactor, mScalePivotX, mScalePivotY);
//drawing ....
canvas.restore();
:
나는 함께 줌 제스처에 캔버스를 중앙에 위의 블로그 게시물의 예를 변경하려 좌표를 계산합니다. 쉬운 해결 방법이 있습니까? 제스처 중심과 배율 인수로 오프셋을 계산하려했지만 실패했습니다 :/ImageView를 사용하는 다른 예제에서는 종종 이미지를 변환하기 위해 매트릭스를 사용하는 것으로 나타났습니다. 이 작업을 사용자 정의보기 및 캔버스로 수행 할 수 있습니까? 그렇다면 좌표를 확인하기 위해 x 및 y 오프셋을 어떻게 얻을 수 있습니까?
또한 내 생각이 완전히 틀린 경우 제대로 수행되는 방법에 대한 사례를 보니 매우 기쁩니다.
Thx! ;)
안녕하세요, 저는 줌 센터링 문제에 직면하고 있습니다. 현재 그것을 (0,0) 점으로 이동하고이 메서드는 canvas.scale (scaleFactor, scaleFactor); 사용하고 있습니다. ScalePivotX와 scalePivotY를 어떻게 계산하고 있습니까? 감사합니다. – sajjoo