본문 바로가기

Android/Tip

BitmapDrawable 이미지 파일 변환시 주의점

예전에 개발하면서 문제 됬던 내용 정리 하는 차원에서 작성한다.


1. 재현현상


BitmapDrawable 으로 이미지 파일을 외장/내장 Disk 에서 불러올경우 이미지 사이즈가 작아지거나 커지는 현상이 발생 되었다.



2. 수정방법


아래와 같이 구현 하여 해결 해였다.


 
/**
	 * 이미지 파일을 drawable에 넣는다
	 * @param path 이미지 파일 경로
	 * @return
	 */
	public static BitmapDrawable getBitmapDrawableFromFile(String path) {
		BitmapDrawable drawable = null;
		try {
			Bitmap bitmap = null;
			FileInputStream Stream;
			Stream = new FileInputStream(path);
			bitmap = BitmapFactory.decodeStream(Stream);
			Stream.close();
			Stream = null;
			drawable = new BitmapDrawable(bitmap);
			
			//이미지 Density를 세팅하지 않으면 이미지 크기가 작게 나옴 보통 단말 Density로 세팅된다/
			drawable.setTargetDensity(drawable.getBitmap().getDensity());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return drawable;
	}