모든 수단과 방법을 동원하였지만 몇일째 해결하지 못하고 있습니다 고수님들의 조언좀 부탁드립니다 ㅠㅠ
여러가지 뷰를 한꺼번에 캡쳐를 해야하는데 서피스 뷰 자체는 스크린 캡쳐를 하게되면 화면이 까맣게되서
저장이 되는걸 알아내었습니다. 그리하여 캔버스 객체를 생성하고 그곳에다가 다시 그린후, 저장하는 것 까지도 알아내었지만
여전히 잘 되지 않습니다.
Bitmap bitmap = Bitmap.createBitmap(1024, 600, Bitmap.Config.ARGB_8888);
// 원하는 가로, 세로 길이
Canvas canvas = new Canvas(bitmap);
mGLSurfaceView.getRootView().draw(canvas);
// 캡쳐 원하는 뷰에 draw에 canvas 넘겨주기
File file = new File("/sdcard/captureScreen.png");
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 파일 만들어서 저장
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
bitmap.compress(CompressFormat.PNG, 100, fos);
try {
fos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "파일이미지 저장중", Toast.LENGTH_LONG).show();
여기까지가 대충 스위치케이스문으로 동작하는 한 실행 소스이구요
제가 원하는건 카메라뷰를( camScreen) 을 캔버스 객체에 저장해서 저장하고 싶습니다 감이 아직도 잘안오니
조언좀 많이 부탁드리겠습니다 좋은하루되세요^^




캔버스 쓰지마시고 그냥 이미지뷰새로 생성하고 그걸 bitmap으로 만들어서 이미지뷰에 뿌려주시고 surfaceview는 죽여버리세요
그리고 캡쳐하는 함수 호출해버리면 문안히 저장됩니다.