2016-11-08 20 views
2

ビットマップ画像をAndroidで回転させる方法を教えてください。Android ||ビットマップ画像の回転

私は次のサンプルを持っていますが、画像を10度回転させると、角が黒くなり、画像のサイズも大きくなります。

イメージを10度連続して回転させると、メモリが境界外の例外をスローします。 androidl:LargeHeap =

private void rotateImage(String sourcePath, float angle) { 
    Bitmap bitmap = BitmapFactory.decodeFile(sourcePath); 
    Matrix matrix = new Matrix(); 
    matrix.setRotate(angle); 
    Bitmap rotated = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); 
    File file = new File(sourcePath); 
    FileOutputStream fOut = null; 
    try { 
     fOut = new FileOutputStream(file); 
     rotated.compress(Bitmap.CompressFormat.PNG, 85, fOut); 
     fOut.flush(); 
     fOut.close(); 
     bitmap.recycle(); 
     rotated.recycle(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

追加ラインを参照してください。真; –

+0

あなたの目標は何ですか?ビュー上の画像だけを回転させたい場合は、ObjectAnimatorを使用することができます。 – Christopher

+0

私の目標はイメージを回転させるアプリを作ることです。 –

答えて

2

ExifInterface

を使用する方法、詳細については、画像の回転

チェックthis解決のためExifInterfaceを試してみてください、あなたmenifestアクティビティタグで詳細についてExif

関連する問題