图像翻转,无法缩放

时间:2011-07-23 16:04:09

标签: java android

我有一个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度并且不会像预期的那样填满整个屏幕 - 尽管我在运行之前以纵向模式在同一台设备上拍摄了照片我的应用。

任何人都知道什么是错的或什么可能是错的?

1 个答案:

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

anddev.org

就是一个很好的例子

更新

根据问题发起人的评论,可以在

找到更好的例子

Rotating a Bitmap in Android