114

我想创建一个空位图并将画布设置为该位图,然后在位图上绘制任何形状。

4

2 回答 2

212

这可能比您想象的要简单:

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 系列绘图

于 2011-04-14T13:31:47.320 回答
-6

不要使用 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 选项本身。

于 2013-12-26T11:21:21.310 回答