BitmapFactory.decodeResource возвращает изменяемый Bitmap в Android 2.2 и неизменный Bitmap в Android 1.6

Я разрабатываю приложение и тестирую его на своем устройстве под управлением Android 2.2. В моем коде я использую Bitmap, который я получаю с помощью BitmapFactory.decodeResource, и я могу вносить изменения, вызывая на нем bitmap.setPixels () . Когда я тестирую это на устройстве друга под управлением Android 1.6, я получаю IllegalStateException при вызове bitmap.setPixels . В документации в Интернете говорится, что этот метод вызывает исключение IllegalStateException , когда растровое изображение является неизменным. В документации ничего не говорится о decodeResource , возвращающем неизменяемое растровое изображение, но очевидно, что так оно и есть.

Могу ли я сделать другой вызов, чтобы надежно получить изменяемое растровое изображение из ресурса приложения без требуется второй объект Bitmap (я мог бы создать изменяемый объект того же размера и нарисовать его в Canvas, обернув его, но для этого потребовалось бы два растровых изображения равного размера с использованием вдвое большего объема памяти, чем я предполагал)?

33
задан blackpanther 1 May 2013 в 08:29
поделиться