Создание обрезанного растрового изображения без создания нового растрового изображения

#android #bitmap #android-bitmap #bitmapfactory #pooling

Вопрос:

Мне нужно придумать способ обрезки растрового изображения без создания другого растрового изображения, которое уже присутствует.

У меня есть два растровых изображения

 int width = 50;
int height = 50;

//Bitmap A
bitmapA = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
bitmapA.copyPixelsFromBuffer(buffer);

//Bitmap B
bitmapB = Bitmap.createBitmap(45, 45, Bitmap.Config.ARGB_8888);
 

У bitmapA есть данные изображения, в то время как у bitmapB нет данных изображения. Мне нужно обрезанное изображение растровой карты, начиная с (5, 5), и поместить его в растровое изображение без создания еще одного нового растрового изображения.

Пока я могу это сделать

 bitmapC = Bitmap.createBitmap(bitmapA, 5, 5, 45, 45);
 

это создаст еще один растровый объект. Мне нужно скопировать данные bitmapA в уже созданное растровое изображение без создания другого растрового изображения / вызова CreateBitmap

Можно ли это сделать с помощью Rect?

Есть какие-нибудь идеи? Спасибо.

Комментарии:

1. bitmapC = .... изменить на bitmapB = ....

2. это означает создание еще одного растрового изображения

3. Нет. У вас уже был bitmapB. В противном случае сделайте это bitmapA = ...

4. Я думаю, что вы говорите о переменных, я говорю о новых растровых объектах, выделяемых в памяти.