2016-11-08 5 views
2

안드로이드에서 비트 맵 이미지를 회전하는 방법을 제안 해주십시오.안드로이드 || 비트 맵 이미지 회전

다음 샘플이 있지만 이미지를 10도 회전하면 구석에서 검정색이되고 이미지 크기가 커집니다.

이미지를 10도 연속으로 회전시킬 때 메모리가 바운드 예외를 발생시킵니다.

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

추가 라인을 참조하십시오 : androidl : LargeHeap = 참된; –

+0

목표는 무엇입니까? 뷰의 이미지 만 회전하려는 경우 ObjectAnimator를 사용할 수 있습니다. – Christopher

+0

내 목표는 이미지 회전 애플 리케이션을 만드는 것입니다. –

답변

2

이미지 회전에 대한 자세한 내용은

체크 this 솔루션을 ExifInterface을 시도 ExifInterface을 사용하는 방법을

가 추가 정보를 귀하의 menifest 활동 태그에 대한 Exif