2016-06-11 9 views
1

SurfaceViewのキャンバスの一部を取得して、Bitmapという名前で保存しようとしています。
私が見たすべての答えは、新しいCanvasを作成し、コンストラクタにBitmapを渡していました。キャンバスの一部をビットマップとして取得

私はSurfaceViewを使用していますので、私はこのように私は私のBitmapで新しいCanvasをレコード生成することはできませんmSurfaceHolder.lockCanvas();SurfaceHodlerを使用して、私のキャンバスを取得しています。

新しいキャンバスを作成することなく、キャンバスの一部をBitmapにするにはどうすればよいですか?

答えて

1

キャンバスはレンダリングインターフェイスです。それは単なるインタフェースなので、その一部またはすべてを得ることはできません。ピクセルはビットマップまたはサーフェスに描画されるので、必要に応じてそれらを読み戻すか、再度描画する必要があります。

サーフェスからピクセルを取得する方法はありません。これは、プロデューサとコンシューマのペアのプロデューサ側です。一番簡単な方法は、ビットマップに裏打ちされた新しいキャンバスで描画コマンドを繰り返すことです。

this answerも参照してください。

関連する問題