투케이2K

157. (kotlin/코틀린) [유틸 파일] byteToBitmap : 바이트 값을 비트맵으로 변환 실시 본문

Kotlin

157. (kotlin/코틀린) [유틸 파일] byteToBitmap : 바이트 값을 비트맵으로 변환 실시

투케이2K 2023. 1. 5. 02:49

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // TODO [SEARCH FAST] : [RETURN] byteToBitmap : 바이트 값을 비트맵으로 변환 실시
        fun byteToBitmap(type: Int, inputStream: InputStream?, bytes: ByteArray?): Bitmap? {

            /**
             * // -----------------------------------------
             * [byteToBitmap 메소드 설명]
             * // -----------------------------------------
             * 1. 바이트 값을 비트맵으로 변환 실시
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_Util.byteToBitmap(1, inputStream, null); // [InputStream >> Bitmap 변경]
             *
             * C_Util.byteToBitmap(2, null, byteArray); // [bytes >> Bitmap 변경]
             *
             * // -----------------------------------------
             * // [AssetManager 객체 생성]
             * val assetManager = resources.assets
             *
             * // [InputStream 으로 파일 읽음]
             * val inputStream = assetManager.open("test_img.png", AssetManager.ACCESS_BUFFER)
             *
             * C_Util.byteToBitmap(1, inputStream, null)
             * // -----------------------------------------
             * 3. 리턴 데이터 : 비트맵 데이터
             * // -----------------------------------------
             */


            // [리턴 변수 선언]
            var returnData: Bitmap? = null
            var chck = ""


            // [로직 처리 실시]
            try {
                if (type == 1 && inputStream != null) {

                    // [로직 저장]
                    chck = "InputStream >> Bitmap"

                    // [InputStream >> Bitmap]
                    // InputStream inputStream = response.body().byteStream();
                    returnData = BitmapFactory.decodeStream(inputStream)
                    inputStream.close()
                }
                else if (type == 2 && bytes != null && bytes.size > 0) {

                    // [로직 저장]
                    chck = "byte array >> Bitmap"

                    // [byte array >> Bitmap]
                    returnData = BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
                }
                else {

                    // [로직 저장]
                    chck = "type error"
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            //*
            Log.i("---","---" + "\n")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_Util >> byteToBitmap() :: 바이트 값을 비트맵으로 변환 실시]")
            Log.i("","\n"+"-----------------------------------------")
            Log.i("","\n"+"[CHECK :: "+ chck +"]")
            Log.i("","\n"+"-----------------------------------------")
            Log.i("","\n"+"[RETURN :: "+ returnData.toString() +"]")
            Log.d("//===========//","================================================")
            Log.i("---","---" + "\n")
            // */


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

[결과 출력]


 

반응형
Comments