Base64: 이미지 변환하기(String, Bitmap, Uri)
</br>
이미지를 Base64 변환하기
/*
Base64 String을 Bitmap으로 변환
*/
public static Bitmap StringToBitmap(String encodedString) {
try {
byte[] encodeByte = Base64.decode(encodedString, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
return bitmap;
} catch (Exception e) {
e.getMessage();
return null;
}
}
/*
Bitmap을 Base64 String형으로 변환
*/
public static String BitmapToString(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 70, baos);
byte[] bytes = baos.toByteArray();
String temp = Base64.encodeToString(bytes, Base64.DEFAULT);
return temp;
}
BitmapToString()
에서 .compress()
로 포맷과 품질을 설정할 수 있다.
https://codebeautify.org/base64-to-image-converter
구글에 검색하면 컨버터 홈페이지들도 많이 나온다. 돌려 보고 맞는 건가 싶으면 확인해 보면 될 듯
</br>
Uri를 Bitmap으로
번외로~~ Base64는 아니지만 얘가 더 쓰일 일이 많을 것이므로…
public Bitmap UriToBitmap(Uri imageuri) {
Bitmap bm = null;
try {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
bm = ImageDecoder.decodeBitmap(ImageDecoder.createSource(getContentResolver(), imageuri));
} else {
bm = MediaStore.Images.Media.getBitmap(getContentResolver(), imageuri);
}
} catch (IOException e) {
e.printStackTrace();
}
return bm;
}
간단 간단하다. 버전 맞춰서 해 주면 됨~
</br>
댓글남기기