Android 从绘图缓存创建位图以显示大于屏幕的视图

Android create bitmap from drawingcache for view bigger than screen

我正在使用 Bitmap b = Bitmap.createBitmap(mView.getDrawingCache()); 从我的视角创建图像,以便我可以分享它。它工作得很好,但是当 mView 比 phone 屏幕大时,我得到一个空指针异常:

 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference

有人知道如何解决这个问题吗?

所以我没有找到任何方法来解决这个错误,所以我以不同的方式创建了一个图像(通过在 canvas 上绘制):

int w = mView.getWidth();
int h = mView.getHeight();
Bitmap result = Bitmap.createBitmap(w, h,  Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(result);
mView.draw(canvas);

希望这对遇到同样问题的人有所帮助。