안드로이드에서 이미지 파일을 표시할때나,다룰때 파일 크기가 너무 커면 느려진다거나, 스크롤이 버벅이는등의 현상이 일어납니다.

크기가 작은 이미지 파일을 생성함으로써, 위의 문제를 어느정도 해결할 수 있습니다.


안드로이드 개발 - 비트맵(Bitmap) 비율 맞추면서 크기 줄이기(썸네일 생성)



  
	// Bitmap to File
//bitmap에는 비트맵, strFilePath에 는 파일을 저장할 경로, strFilePath 에는 파일 이름을 할당해주면 됩니다.
		public static void createThumbnail(Bitmap bitmap, String strFilePath,
				String filename) {
			
			File file = new File(strFilePath);

			// If no folders
			if (!file.exists()) {
				file.mkdirs();
				// Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
			}
			File fileCacheItem = new File(strFilePath + filename);
			OutputStream out = null;
			



			try {
				
				int height=bitmap.getHeight();
				int width=bitmap.getWidth();
				
				
				fileCacheItem.createNewFile();
				out = new FileOutputStream(fileCacheItem);
//160 부분을 자신이 원하는 크기로 변경할 수 있습니다.
				bitmap = Bitmap.createScaledBitmap(bitmap, 160, height/(width/160), true);
				bitmap.compress(CompressFormat.JPEG, 100, out);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				try {
					out.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}



위의 방법으로 하면 자신이 원하는 경로에 썸네일 파일을 생성할 수 있습니다.

Sdcard 경로에 저장하는 경우에는 아래 권한을 할당해 주어야 합니다.


   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />









도움이 되셨나요?

그럼 손가락을 눌러주세요:)

저작자 표시 비영리 동일 조건 변경 허락
신고