Intereting Posts
Какое намерение должно открыть экран использования данных (из настроек) Как сгенерировать отчеты с помощью градиента? Существуют ли какие-либо инструменты для преобразования локализованного строкового файла Iphone в файл строковых ресурсов, который можно использовать в Android? Отправить событие backspace key для редактирования текста Android Toast перемещается по экрану Передача ArrayList любого типа методу ListView с таймером Coundown. Таймер мерцает при прокрутке списка Android Studio: адаптируемая папка: как разместить изображения для нескольких точек на дюйм? Stacked панель вкладок ActionBar, не заполняющая родительскую Является ли android.os.Build.SERIAL уникальным? Android GridView добавляет заголовок и нижний колонтитул, например listview Ошибка проекта проекта Studio Studio Защита постоянной строки от обратного проектирования Dagger2 – null вместо введенного объекта Установка даты / времени с использованием оболочки ADB

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

Я пытаюсь понять, как рисовать растровое изображение в 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 на его основе.