1. ホーム
  2. android

[解決済み] Androidです。imageviewの画像を斜めに回転させる

2022-04-21 22:58:07

質問

以下のコードでImageViewに表示されている画像を斜め方向に回転させています。もっとシンプルで複雑でない方法はないでしょうか?

ImageView iv = (ImageView)findViewById(imageviewid);
TextView tv = (TextView)findViewById(txtViewsid);
Matrix mat = new Matrix();
Bitmap bMap = BitmapFactory.decodeResource(getResources(),imageid);
mat.postRotate(Integer.parseInt(degree));===>angle to be rotated
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0,bMap.getWidth(),bMap.getHeight(), mat, true);
iv.setImageBitmap(bMapRotate);

解決方法は?

を回転させるもう一つの簡単な方法 ImageView :

UPDATE

インポートが必要です。

import android.graphics.Matrix;
import android.widget.ImageView;

コード (仮に imageView , angle , pivotX & pivotY はすでに定義されています)

Matrix matrix = new Matrix();
imageView.setScaleType(ImageView.ScaleType.MATRIX);   //required
matrix.postRotate((float) angle, pivotX, pivotY);
imageView.setImageMatrix(matrix);

この方法では、毎回新しいビットマップを作成する必要はありません。

<ブロッククオート

ImageView オンタッチ を実行することができます。 セット オンタッチリスナー オン ImageView を追加し、回転させます。 の行(つまり ポストローテート マトリックスに設定します。 イメージビュー を参照)。 セクションをタッチリスナーの アクション_ムーブ の部分です。