我有一个imageView,可以将图像逆时针旋转90度,图像也不会填满屏幕。
我有一个imageviewer.xml,定义为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
我从我的数据库中获取图像的路径(imagePath)并使用此代码将其插入到视图中:
Uri uri = Uri.parse(imagePath);
img.setImageURI(uri);
但是当图像显示在活动中时,它逆时针旋转90度并且不会像预期的那样填满整个屏幕 - 尽管我在运行之前以纵向模式在同一台设备上拍摄了照片我的应用。
任何人都知道什么是错的或什么可能是错的?
答案 0 :(得分:3)
您需要使用setImageMatrix
来旋转和缩放图像;
您还应将图像比例尺设置为MATRIX
。
//you need a matrix
Matrix matrix = new Matrix();
// set the scale
matrix.postScale(scaleWidth, scaleHeight);
// rotate the Bitmap
matrix.postRotate(90);
// then apply it
img.setImageMatrix(matrix);
就是一个很好的例子
更新
根据问题发起人的评论,可以在
找到更好的例子