반응형
비트맵 이미지를 String 변경하기
public String bitmapToString(Bitmap bitmap){
String strBitmap = "";
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
//bitmap.createScaledBitmap(bitmap, bitmap.getWidth() * 2, bitmap.getHeight() * 2, true);
byte [] b = baos.toByteArray();
strBitmap = android.util.Base64.encodeToString(b, android.util.Base64.NO_WRAP);
baos.flush();
} catch (Exception e) {
}
return strBitmap;
}
// compress 이미지의 사이즈를 그대로 두고 퀄리티를 조절
압축할 파일 타입을 지정하고 (JPEG, PNG) 압축 퀄리티 (1~100)을 지정
JPEG : 압축 속도가 빠르고 파일 용량이 적으나 투명 값이 없는 24bit Bitmap 파일
PNG : 32bit Bitmap으로 투명값을 가진다.
압축 퀄리티 100일 경우 원본 그대로의 퀄리티
bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
// createScaledBitmap() 비트맵 이미지를 변경
비트맵 이미지의 사이즈를 2배로 확장,
마지막 매개변수
true : 이미지의 픽셀을 조절해 이미지가 선명하게 보이도록 도와준다.
(이미지가 클 경우 Out of memory 가능성이 높다)
false : 픽셀을 2배로 늘려 이미지가 깨지거나 흐려 보이게 된다.
bitmap.createScaledBitmap(bitmap, bitmap.getWidth() * 2, bitmap.getHeight() * 2, true);
String을 비트맵 이미지로 변경하기
public Bitmap stringToBitmap(String strBitmap){
byte [] encodeByte = android.util.Base64.decode(strBitmap, android.util.Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
return bitmap;
}
android.util.Base64와 java.util.Base64의 차이점
android.util.Base64와 java.util.Base64의 차이점
android.util.Base64.encodeToString(byte [] input, int flags)의 flags 값을 확인해보면 strBitmap = android.util.Base64.encodeToString(b, android.util.Base64.DEFAULT); strBitmap2 = android.util.Base64..
overpay.tistory.com
반응형
'개발 > ANDROID 안드로이드' 카테고리의 다른 글
Android Meterial DropDown Menu 샘플 (1) | 2022.09.21 |
---|---|
android.util.Base64와 java.util.Base64의 차이점 (0) | 2022.09.16 |
[Library] Glide 로컬파일, URL등 다양한 이미지 불러오기 (0) | 2022.09.01 |
[Library] Glide로 GIF 이미지 로딩하기 setLoopCount 반복 횟수 설정 (0) | 2022.08.31 |
[Library] Glide 자주 사용하는 안드로이드 이미지 라이브러리 (0) | 2022.08.31 |