Android旋转图像/照片

时间:2014-02-19 19:45:17

标签: android image rotation

我的图像旋转有问题。

我试试:

        Matrix matrix = new Matrix();
    matrix.postRotate(90);   
    BitmapFactory.Options options=new BitmapFactory.Options();
    options.inSampleSize = 4;
    Bitmap pic = BitmapFactory.decodeFile(filePath, options);
    Bitmap rotatedPhoto = Bitmap.createBitmap(pic, 0, 0, pic.getWidth(), pic.getHeight(), matrix, true);
    photo.setImageBitmap(rotatedPhoto);

    try {
        stream = new FileOutputStream(filePath);
        rotatedPhoto.compress(CompressFormat.JPEG, 100 ,stream);
        }
    catch (FileNotFoundException e) {
        e.printStackTrace();
    }

图片旋转,但质量很差。 我该如何解决这个问题?如何在不降低质量的情况下旋转图像? 谢谢!

更新 如何在不失去分辨率的情况下旋转图像?

1 个答案:

答案 0 :(得分:1)

我认为您的问题是因为您将inSampleSize设置为4.这意味着返回的图像将比原始图像小4倍。

http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inSampleSize

尝试将options.inSampleSize设置为1 - 这有帮助吗?

在处理图像时要小心 - 你在Android应用程序中玩的内存很少。一次只将几张大图像加载到内存中通常会导致应用程序崩溃。