Я хотел бы создать пустое растровое изображение и установить холст для этого растрового изображения, а затем нарисовать любую форму на растровом изображении.
Я хотел бы создать пустое растровое изображение и установить холст для этого растрового изображения, а затем нарисовать любую форму на растровом изображении.
Ответы:
Это, вероятно, проще, чем вы думаете:
int w = WIDTH_PX, h = HEIGHT_PX;
Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);
// ready to draw on that bitmap through that canvas
Вот серия уроков, которые я нашел по теме: Рисование с помощью Canvas Series
Не используйте Bitmap.Config.ARGB_8888
Вместо этого используйте int w = WIDTH_PX, h = HEIGHT_PX;
Bitmap.Config conf = Bitmap.Config.ARGB_4444; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);
// ready to draw on that bitmap through that canvas
ARGB_8888 может вызвать проблемы с OutOfMemory при работе с большим количеством растровых изображений или большими растровыми изображениями. Или, что еще лучше, постарайтесь избегать использования самой опции ARGB.