Как нарисовать растровое изображение в андроиде?

Я пытаюсь понять, как рисовать растровое изображение в android, и сохранить копию этих измененных растровых изображений для функции отмены.

Bitmap b = ... Paint p = new Paint(); canvas.drawBitmap(b, new Matrix(), null); canvas.drawCircle(0,0,20,20); //does Bitmap b have the circle drawn on it next time? 

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

Solutions Collecting From Web of "Как нарисовать растровое изображение в андроиде?"

Используйте new Canvas(Bitmap bitmap) чтобы создать Canvas с Bitmap которое будет содержать результат ваших операций рисования.

Исходный Bitmap который вы рисуете на своем Canvas с помощью drawBitmap , никогда не будет изменен.

После каждой операции, выполненной пользователем, вы можете:

  • Сохранить в памяти список выполненных операций
  • Сохранить промежуточные результаты для внешнего хранилища с помощью Bitmap.compress

Другим подходом могло бы быть использование LayerDrawable для LayerDrawable последовательных операций рисования поверх друг друга. Вы можете себе представить, что пользователь может отключить каждую отдельную операцию.

Вы можете увидеть полное руководство, как рисовать текст здесь:

https://www.skoumal.net/en/android-how-draw-text-bitmap/

Короче:

Скопируйте растровое изображение, чтобы сделать его изменчивым и создать Canvas на его основе.