Я пытаюсь воссоздать поведение приложения для фотографий, в котором вы можете одновременно панорамировать, сжимать и поворачивать. У меня есть основы работы, но я застрял на чем-то.
Для панорамы я сместил центральную точку вида на величину перевода. Это работает хорошо.
Для повышения и поворота я применяю аффинное преобразование к представлению. Это тоже хорошо работает.
Проблема в том, что когда я панорамирую (т.е. перемещаю подпредставление), а затем зажимаю или поворачиваю - кажется, что аффинное преобразование применяется с использованием старой центральной точки просмотра. Я думал, что он должен использовать текущую центральную точку в качестве источника преобразования - так как я обновляю центральную точку, когда я панорамирую, я думал, что это должно работать. Вместо поворота вокруг центральной точки подпредставления я получаю вращательное движение вокруг исходной центральной точки.
Как мне исправить это? Очевидно, что эти три жеста можно комбинировать интуитивно, поскольку приложение для фотографий делает это успешно.
Я пытался использовать аффинный перевод для сковороды, но эффект был тот же.