ずっとできないと思っていたのだけど実は View で描画したものを
Bitmap として取得することができました。
ステータスバーなどを含んだ画面全体を Bitmap として取得
いわゆるスクリーンショット。View#getRootView | Android Developersを使うためになにか適当な View が必要。
public Bitmap getScreenBitmap(View view){ return getViewBitmap(view.getRootView()); }
特定の View を Bitmap として取得
public Bitmap getViewBitmap(View view){ view.setDrawingCacheEnabled(true); Bitmap cache = view.getDrawingCache(); if(cache == null){ return null; } Bitmap bitmap = Bitmap.createBitmap(cache); view.setDrawingCacheEnabled(false); return bitmap; }View#getDrawingCache | Android Developers はシステムの持っている Bitmap の参照を返す。
システム側から recycle されるので Bitmap#createBitmap | Android Developers で作り直す必要がある。