2012. 8. 11. 11:22
안드로이드 - 현재 화면을 그림으로 저장 안드로이드 이야기2012. 8. 11. 11:22
728x90
반응형
안드로이드 - 현재 화면을 그림으로 저장
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
이걸 안하면 당연히 안댐~
01.
m_mainView.setDrawingCacheEnabled(
true
) ;
02.
// view가 업데이트 될 때마다 그 때의 뷰 이미지를 Drawing cache에 저장할지 여부를 결정합니다.
03.
// m_mainView.getRootView( ) 는 타이틀바 영역까지 캡쳐
04.
m_mainView.buildDrawingCache( ) ;
05.
// view의 이미지 저장! buildDrawingCashe
06.
// setDrawingCache() 로도 이미지를 저장할 수 있지만 뷰의 내용이 바뀔때마다 저장되어
07.
// 내용이 자주 변경되는 뷰에서는 성능이 저하 될 수도 있다.
08.
Bitmap savebitmap = m_mainView.getDrawingCache( ) ;
09.
10.
// Intent intent = new Intent( ud_Painting.this, ud_Pride.class ) ;
11.
// intent.putExtra( "CAPTURE", savebitmap ) ;
12.
Log.e(
"------------"
, savebitmap+
"-------"
) ;
13.
// Drawing cache에 저장된 뷰의 이미지를 Bitmap 형태로 반환합니다.
1.
SimpleDateFormat formatter =
new
java.text.SimpleDateFormat(
"yy-MM-dd-hh-mm-ss"
);
2.
Date today =
new
Date();
3.
String strDate = formatter.format(today);
1.
String dirPath =
"/sdcard/KidsPuzzle"
;
2.
File file =
new
File(dirPath);
3.
if
( !file.exists( ) )
// 원하는 경로에 폴더가 있는지 확인
4.
file.mkdirs( ) ;
5.
6.
File hFile =
new
File(
"/sdcard/myFolder/"
+ strDate +
".jpg"
) ;
7.
FileOutputStream fos ;
01.
try
02.
{
03.
fos =
new
FileOutputStream( hFile ) ;
04.
savebitmap.compress( CompressFormat.JPEG,
70
, fos ) ;
05.
fos.close( ) ;
06.
Toast.makeText( getApplicationContext( ),
" 저장되었습니다 "
, Toast.LENGTH_SHORT ).show( ) ;
07.
}
08.
catch
( FileNotFoundException e )
09.
{
10.
e.printStackTrace( ) ;
11.
Toast.makeText( getApplicationContext( ),
" 저장실패 "
, Toast.LENGTH_SHORT ).show( ) ;
12.
}
13.
catch
( IOException e )
14.
{
15.
e.printStackTrace( ) ;
16.
Toast.makeText( getApplicationContext( ),
" 저장실패 "
, Toast.LENGTH_SHORT ).show( ) ;
17.
}
728x90
반응형
'안드로이드 이야기' 카테고리의 다른 글
안드로이드 - Math 삼각함수 기본 (1) | 2012.08.11 |
---|---|
안드로이드 - 스크린샷 소스코드 (0) | 2012.08.11 |
안드로이드 - 스마트폰 아이콘 500개 모음 (0) | 2012.08.11 |
앱위젯만들기 - 배터리 표시기 (1) | 2012.08.11 |
안드로이드 - 각종 샘플 코드 리스트 링크 주소 (0) | 2012.08.11 |