파일을 Bitmap으로 불러와 다시 파일로 쓸때 파일크기가 다른 문제


안드로이드에서 갤러리의 사진을 불러와 Bitmap에 담은 후

bm.compress(Bitmap.CompressFormat.PNG, SAMPLING, out); 
bm.compress(Bitmap.CompressFormat.JPEG, SAMPLING, out);

를 이용해 파일을 새로 쓸 때 원본 파일과 out에 써진 새로운 파일의 크기가 다른건 뭐가 문제일까요?


조회수 65


1 답변


Bitmap.compress() 함수가 비트맵 객체(메모리에 로드된 이미지 정보)를 파일로 저장할 때 PNG, JPEG 포맷으로 압축을 하기 때문에 파일 사이즈가 변경되는 것입니다. 해당 함수가 원본 파일과 같은 상태의 압축 옵션으로 이미지를 저장하는 것이 아니기 때문에 오히려 파일 사이즈가 달라질 수 있다.라고 보는 게 적절할 것 같습니다.

예를 들면, 포토샵과 같은 이미지 편집기로 PNG 파일을 열고, 새로운 PNG 파일로 저장을 할 때 압축하는 옵션에 따라 파일 사이즈가 달라지는 것을 확인할 수 있는데요. 이것과 비슷한 현상으로 볼 수 있습니다.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close