Notice
Recent Posts
Recent Comments
Link
투케이2K
786. (Android/Java) [유틸 파일] bitmapResizeImage : Bitmap 이미지 리사이징 수행 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] bitmapResizeImage : Bitmap 이미지 리사이징 수행
// -----------------------------------------------------------------------------------------
public static Bitmap bitmapResizeImage(Context mContext, Bitmap bitmap, int width, int height) {
/**
* // -----------------------------------------
* [bitmapResizeImage 메소드 설명]
* // -----------------------------------------
* 1. Bitmap 이미지 리사이징 수행
* // -----------------------------------------
* 2. 호출 방식 :
*
* // [1] : 이미지 to 비트맵
* Bitmap bitmap = C_App.rawToBitmap(A_Intro.this, R.raw.test_img);
*
* // [2] : 비트맵 이미지 리사이징
* C_App.bitmapResizeImage(A_Intro.this, bitmap, 50, 50);
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* 리사이징 한 비트맵 이미지
* // -----------------------------------------
* */
// [리턴 값 선언]
Bitmap returnData = null;
String M_LOG = "";
String originSize = "";
String resizeSize = "";
// [로직 처리 실시]
try {
// [인풋 데이터 체크]
if (bitmap != null && width > 0 && height > 0){
// -------------------------------------------
// [true] : [픽셀 형태를 조정해 주어서 이미지가 선명하게 보이도록 도움을 줍니다]
// -------------------------------------------
// [false] : [지금 픽셀 형태 그대로 스케일을 조절하므로 이미지가 깨지거나 흐려보일 수 있습니다]
// -------------------------------------------
originSize = String.valueOf(bitmap.getWidth()) + " / " + String.valueOf(bitmap.getHeight());
Bitmap resizedBmp = Bitmap.createScaledBitmap(bitmap, (int) width, (int) height, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// -------------------------------------------
// [JPEG : 압축 이미지 타입]
// -------------------------------------------
// [quality : 압축 정도]
// -------------------------------------------
// [0 = 최대 압축(작은 이미지에 적합한 최소 품질)]
// -------------------------------------------
// [100 = 최소 압축(큰 이미지에 적합한 최대 품질)]
// -------------------------------------------
resizedBmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
InputStream inputStream = new ByteArrayInputStream(baos.toByteArray());
returnData = BitmapFactory.decodeStream(inputStream);
if (returnData != null){
resizeSize = String.valueOf(returnData.getWidth()) + " / " + String.valueOf(returnData.getHeight());
M_LOG = "[Success] :: Bitmap Resize";
}
else {
M_LOG = "[Error] :: returnData Is Null";
}
// [스트림 닫기]
baos.close();
inputStream.close();
}
else {
M_LOG = "[Error] :: Input Data Is Null";
}
} catch (Exception e) {
M_LOG = "[Exception] :: " + String.valueOf(e.getMessage());
S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("Bitmap 이미지 리사이징 수행", new String[]{
"INPUT [WIDTH] :: " + String.valueOf(width),
"INPUT [HEIGHT] :: " + String.valueOf(height),
"ORIGIN_SIZE :: " + String.valueOf(originSize),
"RESIZE_SIZE :: " + String.valueOf(resizeSize),
"M_LOG :: " + String.valueOf(M_LOG),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [리턴 반환 실시]
return returnData;
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.bitmapResizeImage(C_App.java:10605)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-30 07:56:02 화요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: Bitmap 이미지 리사이징 수행]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [WIDTH] :: 50]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [HEIGHT] :: 50]
I/: ----------------------------------------------------
I/: [LOG :: ORIGIN_SIZE :: 1025 / 883]
I/: ----------------------------------------------------
I/: [LOG :: RESIZE_SIZE :: 50 / 50]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: [Success] :: Bitmap Resize]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: android.graphics.Bitmap@3aa935b]
D///===========//: ================================================
반응형
'Android' 카테고리의 다른 글
Comments