val responseImage = MyApplication.prefs.getData(
"image"
,
""
)
val decodedBytes = Base64.decode(responseImage, Base64.DEFAULT)
val decodedImage = BitmapFactory.decodeByteArray(decodedBytes,
0
, decodedBytes.size)
val decodeFile: File? = File.createTempFile(
"temp"
,
null
, LocalContext.current.cacheDir)
val outputStream = FileOutputStream(decodeFile)
decodedImage?.compress(Bitmap.CompressFormat.PNG,
100
, outputStream)
outputStream.close()
val defaultProfileImageBitmap = BitmapFactory.decodeResource(LocalContext.current.resources, R.drawable.defaultprofile)
val imageUri = rememberSaveable {
mutableStateOf(decodeFile?.toUri())
}
var painter = rememberImagePainter(
data = imageUri.value,
builder = {
if
(imageUri.value ==
null
) {
placeholder(R.drawable.defaultprofile)
}
}
)
val onClickToDefaultImage = rememberImagePainter(data = defaultProfileImageBitmap)
Button(
onClick = {
painter = onClickToDefaultImage
openDialog =
false
},
shape = RoundedCornerShape(
10
.dp),
modifier = Modifier
.width(
250
.dp)
.height(
45
.dp)
.background(Color.White))
{
Text(text =
"기본 이미지로 변경"
)
}
Image(
painter = painter,
contentDescription =
"profileImage"
,
modifier = Modifier
.size(
150
.dp)
.padding(
8
.dp)
.clickable {
openDialog = !openDialog
},
contentScale = ContentScale.Crop
)