투케이2K

789. (Android/Java) [유틸 파일] bitmapToByteArray : Bitmap 비트맵을 바이트 값으로 반환 본문

Android

789. (Android/Java) [유틸 파일] bitmapToByteArray : Bitmap 비트맵을 바이트 값으로 반환

투케이2K 2024. 5. 3. 20:06

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [RETURN] bitmapToByteArray : Bitmap 비트맵을 바이트 값으로 반환
    // -----------------------------------------------------------------------------------------
    public static byte[] bitmapToByteArray(Context mContext, Bitmap bitmap) {

        /**
         * // -----------------------------------------
         * [bitmapToByteArray 메소드 설명]
         * // -----------------------------------------
         * 1. Bitmap 이미지를 바이트 값으로 반환
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         *   // [1] : 이미지 to 비트맵
         *   Bitmap bitmap = C_App.rawToBitmap(A_Intro.this, R.raw.test_img);
         *
         *   // [2] : 비트맵 to ByteArray
         *   C_App.bitmapToByteArray(A_Intro.this, bitmap);
         *
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *
         * [바이트 배열]
         * // -----------------------------------------
         * */


        // [리턴 값 선언]
        byte[] returnData = null;
        String M_LOG = "";


        // [로직 처리 실시]
        try {

            // [인풋 데이터 체크]
            if (bitmap != null){

                // -------------------------------------------
                // [ByteArrayOutputStream 선언]
                // -------------------------------------------
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                // -------------------------------------------


                // -------------------------------------------
                // [JPEG : 압축 이미지 타입]
                // -------------------------------------------
                // [quality : 압축 정도]
                // -------------------------------------------
                // [0 = 최대 압축(작은 이미지에 적합한 최소 품질)]
                // -------------------------------------------
                // [100 = 최소 압축(큰 이미지에 적합한 최대 품질)]
                // -------------------------------------------
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);


                // -------------------------------------------
                // [리턴 변수에 삽입]
                // -------------------------------------------
                returnData = baos.toByteArray();

                M_LOG = "[Success] :: Bitmap To ByteArray";
                // -------------------------------------------


                // -------------------------------------------
                // [스트림 닫기]
                // -------------------------------------------
                baos.close();
                // -------------------------------------------

            }
            else {
                M_LOG = "[Error] :: Input Data Is Null";
            }

        } catch (Exception e) {
            M_LOG = "[Exception] :: " + String.valueOf(e.getMessage());
            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }


        // [로그 출력 실시]
        ///*
        // ===============================================================
        S_Log._D_("Bitmap To ByteArray 변환 수행", new String[]{
                "INPUT :: " + String.valueOf(bitmap),
                "M_LOG :: " + String.valueOf(M_LOG),
                "RETURN :: " + String.valueOf(Arrays.toString(returnData))
        });
        // ===============================================================
        // */


        // [리턴 반환 실시]
        return returnData;
    }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.bitmapToByteArray(C_App.java:10716)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-05-03 08:57:06 금요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: Bitmap To ByteArray 변환 수행]
I/: ----------------------------------------------------
I/: [LOG :: INPUT :: android.graphics.Bitmap@7f9fc55]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: [Success] :: Bitmap To ByteArray]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: [-1, -40, -1, -32, 0, 16, 74, 70, 73, 70 ... ]
D///===========//: ================================================

 

반응형
Comments