안드로이드 개발 질문/답변
(글 수 45,052)
반갑습니다.
이미지를 전송하는 작업을 하고 있는데요.
폰 카메라로 촬영되는 이미지의 용량이 너무 커서
어플 환경내에서 이미지를 부르게 되면 사이즈라던지 퀄러티를 떨어뜨려야 될꺼 같은데
어떻게 해야 할까요?
번거로우실테지만 상세한 조언 및 지도 부탁드립니다.
그럼이만 수고 하십시오.
이미지를 전송하는 작업을 하고 있는데요.
폰 카메라로 촬영되는 이미지의 용량이 너무 커서
어플 환경내에서 이미지를 부르게 되면 사이즈라던지 퀄러티를 떨어뜨려야 될꺼 같은데
어떻게 해야 할까요?
번거로우실테지만 상세한 조언 및 지도 부탁드립니다.
그럼이만 수고 하십시오.
2010.10.18 16:20:37
(추천:
2 / 0)
정석적인(?) 방법으로 일단 BitmapFactory.Options 객체를 만드신 담에...
options.inJustDecodeBounds = true 주시고 이미지 여실때 options를 넣어주시면
실제 비트맵은 로드가 안되고 options에 값들이 채워집니다.
여기서 options.outHeight나 options.outWidth를 통해서 사이즈를 얻구요...
실제 비트맵을 얻기 위해서 options.inJustDecodeBounds = false주시고요...
options.inSampleSize에다가 적당한 값을 계산해서 (가로세로 비율이 나오니까요...) 넣어주시구요...
다시 options넣어서 비트맵 불러오면 됩니다.
Bitmap fsrImage = BitmapFactory.decodeFile(“/sdcard/sampleImg.jpg”);
Bitmap resize = Bitmap.createScaledBitmap(fsrImage, 300, 400, true
);