마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

비트맵을 회전시켜 저장하면 원본보다 사이즈가 커집니다..

0 추천

소스는 인터넷에서 얻은 그대로 간단합니다.

exif에서 회전값을 받아와서 

원본이미지를 회전시키는건데..

여기서 질문은

회전시켜서 저장해보면

원본 이미지파일 크기보다 1.5배~2배 정도 커진다는겁니다.

하루종일 검색해봐도 이해가 잘안되어서 질문드립니다.

항상 감사드립니다..

 

 
private Bitmap rotate(Bitmap bitmap, float degree) {
    Matrix matrix = new Matrix();
    matrix.postRotate(degree);
    return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
}
 
//회전시킨 비트맵을 파일로 저장
FileOutputStream out = new FileOutputStream(imageFilePath_rotated);
rotate(bitmap, exifDegree).compress(Bitmap.CompressFormat.JPEG, 100, out);
김원장91 (1,470 포인트) 님이 2020년 7월 5일 질문

2개의 답변

0 추천
 
채택된 답변

원본 jpeg가 압축되어 있는 상태였는데, bitmap으로 변경하면서 사이즈가 증가했고

bitmap compress 로 다시 jpeg로 만들면서 100으로 입력해서 압축이 안되다 보니 증가 했을 듯 합니다.

https://stackoverflow.com/questions/21572023/how-to-rotate-a-jpeg-file-on-android-without-losing-quality-and-gaining-file-siz 를 참조 해 보세요 

익명사용자 님이 2020년 7월 9일 답변
김원장91님이 2020년 9월 3일 채택됨
0 추천
저장하기전에 리사이징하시면?

왜커지는지 어디서커지는지 를 알고싶으면 디버그찍고한줄씩
돌리면서 확인해보세요
익명사용자 님이 2020년 7월 9일 답변
...