2012. 7. 29. 23:27
안드로이드 - Drawable 이미지를 저장 안드로이드 이야기2012. 7. 29. 23:27
728x90
반응형
Drawable 이미지 저장하기
Android


2010/06/12 17:29
http://blog.naver.com/lowmans/100107136246
얼마전 Drawable 이미지를 저장해야 하는 상황이 생겼다..
쉽게만 생각했었는데 막상 파일로 저장을 위해서는 여러가지 이슈들이 많이 있었다..
먼저 Drawable 이미지를 비트맵으로 바꾸어야 했는데 api가 없어서 구글링에서 알아본 결과
drawable / bitmap 이 가지고 있는 canvas 를 이용한 방법으로 해결한 예제를 보고 해결하였다..
또한 비트맵 생성시 이미지 사이즈가 문제가 되었는데.. drawable 이미지 크기를 가져오는건 api 를 찾아서 해결하였고
저장된 파일 이름을 정하는 부분에서도 기존엔 토큰하여 사용했었는데 이번엔 indexOf ~ substring 을 사용하여 해결하였다
---------------------------------------------------------------------------------------------------------------------------
public String getPackageIconIamges(String name){
int end = 0;
int start = 0;
for (int i = 0; i < mPackageCount; i++) {
info = app.get(i);
if(name.equals(info.activityInfo.packageName)){
Drawable icon = info.activityInfo.loadIcon(mPackageManager);
mIconSize_w = icon.getIntrinsicWidth();
mIconSize_h = icon.getIntrinsicHeight();
mPackageIconImages = Bitmap.createBitmap(mIconSize_w, mIconSize_h, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(mPackageIconImages);
icon.setBounds(0, 0, mIconSize_w, mIconSize_h);
icon.draw(canvas);
try{
while(true){
end = name.indexOf(".", start);
if(end == -1)
break;
start = end + 1;
}
FileOutputStream out = new FileOutputStream(iconDirPath + "/" + name.substring(start, name.length()) + ".png");
if(out != null){
mPackageIconImages.compress(Bitmap.CompressFormat.PNG , 100, out);
}
}catch(IOException e){
Log.e(TAG , "getPackagIamge Error : " + e.getMessage());
}
return iconDirPath + name.substring(start, name.length()) + ".png";
}
}
return null;
}
[출처] Drawable 이미지 저장하기|작성자 아즈라엘
728x90
반응형
'안드로이드 이야기' 카테고리의 다른 글
안드로이드- SDCARD에 저장 (0) | 2012.08.06 |
---|---|
안드로이드 - 촬영한 이미지를 getFilesDir()에도 저장하기 (0) | 2012.07.29 |
안드로이드 - 이미지 캡춰하기 1 (0) | 2012.07.29 |
안드로이드 - 날짜 비교방법 (0) | 2012.07.29 |
안드로이드 - Custom ListView CheckBox 모두 선택 하기 (0) | 2012.07.24 |