💌 [Android/Kotlin] 바이트(Byte) <-> 비트맵배열(BitmapArray) 변환
💜 비트맵(Bitmap)을 바이트(Byte)로 변환
fun bitmapToByteArray(bitmap: Bitmap): ByteArray {
var outputStream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.PNG, 80, outputStream)
return outputStream.toByteArray()
}
- (1) ByteArrayOutputStream 선언
- (2) compress 를 통해 이미지 압축
format – 압축된 이미지의 형식
quality – 압축 이미지 품질값. (1-100) 높을수록 최대화질.
stream – 압축된 데이터를 쓰기 위한 출력 스트림
- (3) 바이트배열에 압축된 이미지 값 넣기
💜 바이트(Byte)를 비트맵(Bitmap)으로 변환
fun byteArrayToBitmap(byteArray: ByteArray): Bitmap {
val bitmap = BitmapFactory.decodeByteArray(byteArray,0,byteArray.size)
return bitmap
}
- (1) 바이트배열을 BitmapFactory의 decodeByteArray 를 통해 바이트디코딩.
data – 압축된 이미지 데이터의 바이트 배열
offset – 디코더가 구문 분석을 시작해야 하는 위치
length – 오프셋에서 시작해 구문 분석할 바이트 수