투케이2K

200. (kotlin/코틀린) [유틸 파일] imageViewToByte : 이미지 뷰 사진을 바이트 값으로 변환 실시 (imageView to Byte Array) 본문

Kotlin

200. (kotlin/코틀린) [유틸 파일] imageViewToByte : 이미지 뷰 사진을 바이트 값으로 변환 실시 (imageView to Byte Array)

투케이2K 2023. 1. 17. 21:04

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // TODO [SEARCH FAST] : [RETURN] imageViewToByte : 이미지 뷰 사진을 바이트 값으로 변환 실시
        fun imageViewToByte(imageView: ImageView?): ByteArray? {

            /**
             * // -----------------------------------------
             * [imageViewToByte 메소드 설명]
             * // -----------------------------------------
             * 1. imageViewToByte : 이미지 뷰 사진을 바이트 값으로 변환 실시
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.imageViewToByte(imageView)
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 : byte array
             * // -----------------------------------------
             */


            // [리턴 값 선언]
            var returnData: ByteArray? = null


            // [로직 처리 실시]
            try {
                if (imageView != null) {

                    // [이미지 뷰 사진을 비트맵으로 변환]
                    val bitmap = (imageView.drawable as BitmapDrawable).bitmap
                    val stream = ByteArrayOutputStream()
                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream)

                    // [비트맵 >> 바이트 배열에 담기]
                    returnData = stream.toByteArray()

                    // [스트림 닫기]
                    stream.close()
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            ///*
            Log.i("---","---")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_App >> imageViewToByte() :: 이미지 뷰 사진을 바이트 값으로 변환 실시]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[INPUT :: "+imageView.toString()+"]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[RETURN :: "+Arrays.toString(returnData)+"]")
            Log.d("//===========//","================================================")
            Log.i("---","---")
            // */


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

 

반응형
Comments