'캡처'에 해당하는 글 2건

Android에서는 디바이스가 제공하는 기능을 사용하거나 혹은 Eclipse나 Android studio를 통해 PC와 연결해서 캡쳐를 할 수가 있다. 하지만 그런 방법이 아닌 소스를 통해서 직접 캡쳐를 하는 방법을 간단하게 구현해보았다.

 

 

getWindow.getDecorView()는 전체 화면을 캡쳐하기 위해서 쓴 부분이다.

 

 

버튼 클릭 시 캡쳐하도록 하였다.

 

 

캡쳐와 관련된 주요한 부분인데 화면에 뿌릴 때 캐시하도록 하여 그 캐시를 가로챈 후, Bitmap으로 담아와서 PNG 형태로 SD Card에 저장하는 방법이다.

setDrawingCacheEnalbed()를 true로 하면 캐싱해서 getDrawingCache()로 view를 가져올 수 있다.

다음으로 compress()의 첫번째 인자는 비트맨 이미지 포맷, 두번째 인자는 품질, 세번째 인자에는 stream값이 들어간다.

 

 

파일 저장을 위해서 AndroidManifest.xml에 위의 코드를 넣어주자.

 

 

최종 모습. CAPUTRE 버튼을 누르면 해당 View가 캡쳐되어서 저장된다. 


[출처] http://androi.tistory.com/43

[출처] http://sailerya.tistory.com/7


WRITTEN BY
김치치즈스마일
세계정복!

,

 

 

setContentView를 하기 전에 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE) 를 적어주면 된다.

그렇게 하면 디바이스에서 DRM으로 보호된 이미지라는 Toast가 뜨면서 캡쳐가 안 된다.

또한 테스트해보니 PC에서 이클립스나 안드로이드 스튜디오에서도 캡쳐가 안 된다.


[출처] http://it77.tistory.com/311


WRITTEN BY
김치치즈스마일
세계정복!

,