サーフェイスビューを拡張し、実行可能なクラスを実装するクラスにこのコードがあります。 クラスを使用することができます。基本的に、異なる色などを使用してキャンバスに描画できます。私はそれが描かれた後に画像を保存する方法を得ることを試みており、これが方法です。私が何をしても、私はそれに何も付いていない黒いイメージを得るだけです。何か案は?カスタムサーフェスビューからビットマップを取得
私はキャッシュ図面を持っているが、私はここにいくつかの他のポストを見てのオプションを使い果たしてしまったと動作するように何かを見つけることができませんでしたSurfaceViewカスタムからビットマップイメージを取得
目的を可能にしました。ここでは、これに最近新しいソリューションがあることを期待しています。多くのありがとう
public Bitmap getImage() {
Bitmap bitmap = Bitmap.createBitmap(this.getWidth(),
this.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
this.draw(canvas);
return bitmap;
}
は、あなたが何を期待し 'this.getWidth()'と 'this.getHeight()'与えるために? –
新しいビットマップを作成していますが、それには何もありません。次に、その空のビットマップからCanvasを作成します。あなたはどんな描画もしていない、どのように描画を期待することができますか?ちょっとメモ:SurfaceViewのonDraw()メソッドをオーバーライドする場合は、クラスコンストラクタで 'setWillNotDraw(false)'を必ず呼び出してください。 –
私はそれが私が拡張しているクラスであるので、私は表面の幅と高さを取得することを期待しています。 –