안드로이드 개발 질문/답변
(글 수 45,052)
제가 카메라 어플을 만들고 있는데요
프리뷰에 나오는 화면을 그저 캡처를 하고싶습니다.
그런데 아래와같은 식으로 해버리면 프리뷰상의 화면은 검정화면으로 대체되고 단지 레이아웃에 달려있는 버튼들만 캡쳐되더군요
this.getWindow().getDecorView().setDrawingCacheEnabled(true);
Bitmap bm = this.getWindow().getDecorView().getDrawingCache();
그래서 더 구글링한 결과
mCamera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] _data, Camera _camera) {
Log.d("A","Here");
}
});
이런식으로 프리뷰 콜백을 구현해주면 프리뷰 데이터를 처리할 수 있다고 하더군요.
(CameraPreview 클래스의 surfaceCreated 메소드 안에 구현했습니다.)
그런데 여기서 위와같이 한 결과 아예 로그가 출력되지 않아요. 그러니까 저 콜백메소드가 불리지 않는다는 거겠죠
혹시나해서 프리뷰 콜백을 CameraPreview 클래스가 직접 구현을 하면 될까해서 그렇게도 해봤지만 소용없더군요
지금 이것때문에 아침부터 지금까지 골머리를 앓고있는 중인데요 혹시 해결책 있으시면 답변 부탁드립니다 ㅠㅠ