관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[Java, 안드로이드] Bitmap -> String 변환, String -> Bitmap 변환 본문

자바(java)

[Java, 안드로이드] Bitmap -> String 변환, String -> Bitmap 변환

막무가내막내 2019. 7. 21. 23:23
728x90
public class BitmapConverter {

    /*
     * String형을 BitMap으로 변환시켜주는 함수
     * */
    public static Bitmap StringToBitmap(String encodedString) {
        try {
            byte[] encodeByte = Base64.decode(encodedString, Base64.DEFAULT);
            Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
            return bitmap;
        } catch (Exception e) {
            e.getMessage();
            return null;
        }
    }

    /*
     * Bitmap을 String형으로 변환
     * */
    public static String BitmapToString(Bitmap bitmap) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 70, baos);
        byte[] bytes = baos.toByteArray();
        String temp = Base64.encodeToString(bytes, Base64.DEFAULT);
        return temp;
    }

    /*
     * Bitmap을 byte배열로 변환
     * */
    public static byte[] BitmapToByteArray(Bitmap bitmap) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 70, baos);
        return baos.toByteArray();
    }
}

제목과 관련된 함수들을 함수로 묶어 정리해봤다.

안드로이드에서 사진을 갖고왔을 때 Bitmap을 String형으로 Shared에 저장한다거나 할때 사용했었다. 다시 꺼내와서 이미지뷰에 세팅을 해줄려면 String을 Bitmap으로 변환해주어야하고..

 

그리고 추가적으로 BitmapToByteArray()는 비트맵을 압축하고 전송하기 위해 byte배열로 변환해주는데 사용했다.

 

 

 

728x90
Comments