小编典典

Android:将imageview中的图像旋转一个角度

all

我正在使用以下代码将 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);

阅读 75

收藏
2022-08-08

共1个答案

小编典典

另一种旋转的简单方法ImageView
更新:
必需的导入:

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);

此方法不需要每次都创建新的位图。

注意:要在运行时旋转ImageViewontouch 您可以设置 onTouchListener 并通过在触摸侦听
ACTION_MOVE
ImageView部分的上述代码部分中添加最后两行(即 postRotate 矩阵并将其设置在 imageView
上)来旋转它。 __

2022-08-08