0

ここに画像の説明を入力

左側のこの図は、ボタンがクリックされる前のアプリを示しています。camera2 google github の例を使用して、バックラウンドをカメラのプレビューにしました。右の写真は、takePicture ボタンをクリックしたときのものです。画像が表示されません!スクリーンショットとカメラは同時に動作しませんか? また、上部に表示される黒いバーを取り除くにはどうすればよいですか? どんな助けでも大歓迎です。スクリーンショットを撮る前に、カメラのフォーカスをロックしてください??

    private void takePicture() {
        if (picturePresent == false) {
            edit_button.setVisibility(View.INVISIBLE);

            pictureBitmap = getBitmapFromView();

            edit_button.setVisibility(View.VISIBLE);

            BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), pictureBitmap);
            outer_backround.setBackground(bitmapDrawable);
            picturePresent = true;

        } else {
        }
    }



    public Bitmap getBitmapFromView() {
        View v1 = getActivity().getWindow().getDecorView().getRootView();
        v1.setDrawingCacheEnabled(true);
        Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
        v1.setDrawingCacheEnabled(false);
        Bitmap resizedBitmap  = Bitmap.createBitmap(bitmap,(int) outer_backround.getX(), (int) outer_backround.getY(), outer_backround.getWidth(), outer_backround.getHeight());
        return bitmap;
    }
4

1 に答える 1

1

カメラ プレビュー サーフェスから DrawingCache を取得することはできません。

glsurface からピクセルを読み取るか、フレームを取得する必要があります。

この例を見てください: https://stackoverflow.com/a/26303163/5690332

于 2016-08-12T13:56:37.517 に答える