Я играю с Google Tutorial , чтобы реализовать возможности масштабирования моего холста. Я рисую несколько предметов на холсте и могу перемещать их через Canvas.translate(dx,dy)
вместе с предметами. Чтобы определить, касались ли эти элементы после перевода холста, я взял смещение холста, использованное для Canvas.translate(dx,dy)
, и вычел позицию касания. Как только я ввожу масштабирование в изображение, оно становится немного сложным. Если я использую Canvas.scale(sx,sy)
и выполняю (touchX-offsetX)/scaleFactor
, перевод позиции касания после шкалы работает идеально. Однако, если включить опорную позицию Canvas.scale(sx,sy,px,py)
, код выше не работает. Как мне учесть факторинг в позиции поворота как часть моего сенсорного перевода? Я установил свою позицию поворота, выполнив следующее:
public boolean onScaleBegin(ScaleGestureDetector detector) {
mScaleX = detector.getFocusX();
mScaleY = detector.getFocusY();
return true;
}
Любая помощь будет принята с благодарностью.