Android에서는 디바이스가 제공하는 기능을 사용하거나 혹은 Eclipse나 Android studio를 통해 PC와 연결해서 캡쳐를 할 수가 있다. 하지만 그런 방법이 아닌 소스를 통해서 직접 캡쳐를 하는 방법을 간단하게 구현해보았다.
getWindow.getDecorView()는 전체 화면을 캡쳐하기 위해서 쓴 부분이다.
버튼 클릭 시 캡쳐하도록 하였다.
캡쳐와 관련된 주요한 부분인데 화면에 뿌릴 때 캐시하도록 하여 그 캐시를 가로챈 후, Bitmap으로 담아와서 PNG 형태로 SD Card에 저장하는 방법이다.
setDrawingCacheEnalbed()를 true로 하면 캐싱해서 getDrawingCache()로 view를 가져올 수 있다.
다음으로 compress()의 첫번째 인자는 비트맨 이미지 포맷, 두번째 인자는 품질, 세번째 인자에는 stream값이 들어간다.
파일 저장을 위해서 AndroidManifest.xml에 위의 코드를 넣어주자.
최종 모습. CAPUTRE 버튼을 누르면 해당 View가 캡쳐되어서 저장된다.
'프로그래밍 > Android' 카테고리의 다른 글
WRITTEN BY
- 김치치즈스마일
세계정복!