마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

surfaceview 캡쳐 문제 입니다...

0 추천
안녕하세요. RTSP를 활용한 스트리밍 영상을 서피스뷰로 지정하여

영상을 스트리밍 하는데요. 이 화면을 그냥 캡쳐를 하면 view.setDrawingCacheEnabled 같은 경우엔 검은 화면으로 나오고 먹히질 않습니다. 밑의 코드 부분에 drawBitmap()부분이 안먹히는데 뭐가 문제일까요?

 ImageButton btnsave = (ImageButton)findViewById(R.id.button_save);
        btnsave.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View vv) {
                View captureView = findViewById(R.id.button_save);
               Bitmap bm = Bitmap.createBitmap(captureView.drawBitmap());

                if (bm != null) {
                    try {
                        String path = Environment.getExternalStorageDirectory().toString();
                        OutputStream fOut = null;
                        File file = new File(path + "/", "screenshot.jpg");
                        fOut = new FileOutputStream(file);

                        bm.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
                        fOut.flush();
                        fOut.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        });

 public void Bitmap ViewToBitmap(View view){
        Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        if (view instanceof SurfaceView) {
            SurfaceView surfaceView = (SurfaceView) view;
            surfaceView.setZOrderOnTop(true);
            surfaceView.draw(canvas);
            surfaceView.setZOrderOnTop(false);
            return bitmap;
        } else {         //For ViewGroup & View
            view.draw(canvas);
            return bitmap;
        }
월희 (270 포인트) 님이 2015년 10월 26일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...