私は画像ビューコントロールで画像を持っています。画像のx座標とy座標が連続的に変化するため、ユーザーはこの画像でパンとズームを実行できます。イメージコントロール内のイメージの現在のx座標とy座標を調べる方法はありますか?それに関するすべてのコードはより有益です。イメージコントロールでビットマップイメージのx座標とy座標を取得する方法は?
答えて
ImageViewは、拡大縮小(拡大)と平行移動(パン)を行うためにMatrixクラスを使用します。行列を保持できる場合は、ズーム/パンビューの(左上の)座標を取得できます。ズーム可能な&パン可能、拡張ImageViewのため
コードを使用すると、拡張ImageViewのクラスは/翻訳をスケーリングするために使用メンバ変数として行列を持って表示されますその記事の中でのstackoverflowの1 posts
で利用可能です。
次のコードを使用して、ズーム/パンされたImagevIew(実際のビットマップ)の境界をマトリックスから取得できます。
RectF r = new RectF();
matrix.mapRect(r);
Log.i(TAG, "Rect " + r.left + " " + r.top + " " + r.right + " " + r.bottom + " " + mOverAllScale + " ");
新しく追加された答えが
次のコードを理解するには、このlinkスルー行くと理解する必要があります。
翻訳
ユーザが画像をドラッグすると、画面座標(絶対値)とビットマップ座標が同期して行きます。 [ビットマップに書き込むものは、キャンバス(onDraw()で)に表示されます。]カラーリングを適用すると、ビットマップイメージの別の領域に適用されます。これを修正するには、翻訳を行う必要があります。翻訳は、ユーザーの入力座標(画面座標)をビットマップ座標(ユーザーが意図した通り)に変更します。 次のコードスニペットは翻訳作業を支援します。 [ユーザー入力座標があること
レッツ(x、y)は、
RectF r = new RectF();
matrix.mapRect(r);
Log.i(TAG, "Rect " + r.left + " " + r.top + " " + r.right + " " + r.bottom + " " + mOverAllScale + " ");
float newX = x - r.left;
float newY = y - r.top;
あなたは(x、y)の場所に新しい座標を使用します。
ズーム(拡大縮小)
ユーザピンチイン/アウト。ビットマップがズームアウト/ズームインされます。元のビットマップは変更されず、ズームは表示の観点からのみ行われます。 この場合も、画面とビットマップの同期が失われます。画面に適用された色付けが表示された画像に反映されるはずです。 次のコードスニペットはスケーリングに役立ちます。
// mScalingFactor shall contain the scale/zoom factor
float scaledX = (event.getX() - r.left);
float scaledY = (event.getY() - r.top);
scaledX /= mScalingFactor;
scaledY /= mScalingFactor;
Shash
- 1. X座標とY座標を取得する
- 2. Android - ビューのx座標とy座標をgridLayoutに取得する方法
- 3. GridViewのx座標とy座標の項目を取得する
- 4. JavaScriptのx座標とy座標のキャレット位置を取得する
- 5. タッチ入力のx座標とy座標を取得する(Androidスタジオ、Java)
- 6. セレン:x座標とy座標の使い方
- 7. PDF内のポイントのX、Y座標を取得する方法
- 8. ボトムy座標の取得方法
- 9. アンドロイドのキャンバスに円drwanの位置(x座標とy座標)を取得する方法は?
- 10. X座標系とY座標系を混在させる
- 11. Photoshopのマウス位置のx座標とy座標
- 12. PointCollection(C#)のX座標とY座標の最小値
- 13. make_heapとソートxとyの座標
- 14. 配列内のオブジェクトのx、y座標を取得する
- 15. 画像からピクセルのx、y座標の色を取得する方法は?
- 16. 文字列からX座標とY座標を抽出する
- 17. ビットマップデータ内のピクセル位置(x座標とy座標)を見つける
- 18. Pythonを使ってx、y座標を取得する方法は?
- 19. Flash Actionscript +衝突時にx&y座標を取得する
- 20. ムービークリップのx/y座標を保存する方法は?
- 21. Mac OS X Cocoa、グローバル画面座標空間でY座標を反転する
- 22. 特定の距離からx、y座標を取得する方法
- 23. Java文字列からX-Y座標のマップを取得
- 24. 与えられたX座標とY座標を円の中間点として円を描く方法は?
- 25. サンフランシスコ周辺のX、Y座標のフィーチャリング
- 26. x/y座標を使用したループフィーチャー
- 27. x、y座標の難易度
- 28. アプレットの位置(x、y座標)
- 29. UIImageViewの座標の取得方法は?
- 30. ビットマップイメージからバイト配列を座標XとYに読み込む?
このリンクは役立つかもしれない..... http://stackoverflow.com/questions/2447564/detect-touch-on-bitmap – Uttam