Notice
Recent Posts
Recent Comments
Link
투케이2K
499. (kotlin/코틀린) [유틸 파일] bitmapToByteArray : Bitmap 비트맵을 바이트 값으로 반환 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] bitmapToByteArray : Bitmap 비트맵을 바이트 값으로 반환
// -----------------------------------------------------------------------------------------
fun bitmapToByteArray(mContext: Context, bitmap: Bitmap): ByteArray? {
/**
* // -----------------------------------------
* [bitmapToByteArray 메소드 설명]
* // -----------------------------------------
* 1. Bitmap 이미지를 바이트 값으로 반환
* // -----------------------------------------
* 2. 호출 방식 :
*
* // [1] : 이미지 to 비트맵
* var bitmap = C_App.rawToBitmap(A_Intro@this, R.raw.test)
*
* // [2] : 비트맵 to ByteArray
* C_App.bitmapToByteArray(A_Intro@this, bitmap!!)
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* [바이트 배열]
* // -----------------------------------------
*/
// [리턴 값 선언]
var returnData: ByteArray? = null
var M_LOG = ""
// [로직 처리 실시]
try {
// [인풋 데이터 체크]
if (bitmap != null) {
// -------------------------------------------
// [ByteArrayOutputStream 선언]
// -------------------------------------------
val baos = 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 (e: Exception) {
M_LOG = "[Exception] :: " + e.message.toString()
S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("Bitmap To ByteArray 변환 수행", arrayOf(
"INPUT :: " + bitmap.toString(),
"M_LOG :: $M_LOG",
"RETURN :: " + Arrays.toString(returnData).toString()
))
// ===============================================================
// */
// [리턴 반환 실시]
return returnData
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_App.bitmapToByteArray]
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///===========//: ================================================
반응형
'Kotlin' 카테고리의 다른 글
Comments