Android создает растровое изображение из рисования для просмотра больше экрана

Я использую Bitmap b = Bitmap.createBitmap(mView.getDrawingCache()); для создания изображения с моей точки зрения, чтобы я мог чем поделиться им. Он работает отлично, но когда mView больше, чем экран телефона, я получаю исключение нулевого указателя:

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

Кто-нибудь знает, как это исправить?

1 ответ

Решение

Поэтому я не нашел способа обойти эту ошибку, поэтому я создал изображение другим способом (рисуя на холсте):

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);

Надеюсь, что это помогает любому с той же проблемой.

Другие вопросы по тегам