IT/안드로이드+JAVA

[안드로이드] 비트맵 비율 맞추면서 크기 줄이기 (썸네일) thumbnail

안경 쓴 귀니 2016. 10. 21. 17:41
반응형



[안드로이드] 비트맵 비율 맞추면서 크기 줄이기 (썸네일) thumbnail 만들기




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

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


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



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    // 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" />





[ 출처 : http://jhrun.tistory.com/170 ]



반응형