2

アプリのスナップショットを作成しようとしています。私が抱えている問題は、このアプリが拡張現実アプリであることを意図しており、いくつかのレイヤーを含むビューがあり、背景レイヤーがカメラ ビューであることです。

ルート ビューの描画キャッシュを有効にして取得してみましたが、結果は黒の背景とその上に残りのレイヤーがあるビットマップでした。また、カメラをバックグラウンドに戻すには、キャッシュを無効にしてカメラを再起動する必要がありました。(つまり、Androidでプログラムでスクリーンショットを撮る方法は?

次のアプローチは、私にとってはほとんどうまくいきますが、「いつものように」画面キャプチャを行う前に、写真を作成して背景として設定することでした。結果はかなり良いですが、トリッキーすぎて少し遅いです。また、デバイスの画面に合わせて画像サイズを修正する必要があります。

このタスクにより良い方法でアプローチする方法について誰かアドバイスをもらえますか?

ありがとうございました!

4

1 に答える 1

1

申し訳ありませんができません。カメラに関連付けられた SurfaceView はハードウェア アクセラレーションであるため、スクリーンショットには表示されません。

私が遭遇した唯一の解決策は、カメラからプレビューを取得し、プログラムで SurfaceView にペイントすることです。その後、スクリーンショットが機能します。

于 2013-06-21T20:44:15.173 に答える