본문 바로가기
Development/Android

[안드로이드] Android Bitmap byte[] 변환

by 푸민 2015. 10. 12.
반응형


안녕하세요 푸민입니다.

Bitmap 객체를 저장할수 있는 방법이 다양한데요. 그중에서 DB 에 저장할수 있는 방법이 있습니다.

바로 byte[] 형식으로 변환하는 것이죠.



1. Bitmap to Byte[]


public byte[] bitmapToByteArray(Bitmap bitmap) {

ByteArrayOutputStream stream = new ByteArrayOutputStream();

bitmap.compress(CompressFormat.PNG, 100, stream);

byte[] byteArray = stream.toByteArray();

return byteArray;

}


해당 메소드는 Bitmap 객체를 파라미터로 넘겨주면 byte[] 를 반환하는 메소드입니다. 먼저 ByteArrayOutputStream 을 생성하여 Bitmap 객체의 compress() 메소드를 통해서 스트림을 엽니다. 그 다음에 toByteArray() 메소드를 이용하여 byte[] 를 가져옵니다.



2. Byte[] to Bitmap


public Bitmap byteArrayToBitmap(byte[] byteArray, int num) {

// BitmapFactory.Options options = new BitmapFactory.Options();

// options.inSampleSize = 2;

Bitmap bitmap = null;

bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);

//bitmap = BitmapFactory.decodeByteArray(byteArray, 0, 

byteArray.length, options);

byteArray = null;

return bitmap;

}


byte[] 를 Bitmap 으로 변환할때는 BitmapFactory 객체의 decodeByteArray() 메소드를 사용합니다. 파라미터로 byte[] 과 크기를 넣어주면 됩니다. 그리고 사이즈 조정 등 각종 옵션을 설정할수 있습니다.

반응형

댓글