皆様のお知恵をお貸しください。
現在、画像を編集してプリントするアプリを作成しています。
このアプリでは画像の回転、拡大/縮小、移動などができます。
その際、画像のMatrixを取得して操作しています。
Matrixについてですが、座標や倍率が取得できるのですが、
この倍率は画像を回転させることでなぜか変わってしまいます。
そのため、常に拡大/縮小する度に倍率を蓄積して保持しています。
それでも精密に確認すると正確な倍率が保持できていません。
また、Matrixで取得できる座標は画像の左上の頂点の座標が取れます。
この座標と倍率から画像の中心点の座標を算出し、回転や拡大/縮小の中心点としています。
この座標は画像を回転させた場合、常にその時の左上の頂点ではなく、同じ一点が画像と共に回転していきます。
これも最初に中心点を算出し、画像の移動による移動量を常に保持して使用しています。
しかし、これも編集を繰り返していくと微妙にズレが出てきます。
お知恵をお借りしたいのはこの倍率と中心座標の取得方法です。
ImageViewから表示している画像の現在の表示倍率と画像の中心座標の取得方法はないでしょうか?
いずれも保持する精度を高めればいいのですが、
イベント処理の中で正確な値が取れた方がリスクを減らせると思い質問させていただきました。
お手数おかけしますが、よろしくお願いいたします。