我想创建一个空的位图并将画布设置为该位图,然后在该位图上绘制任何形状。
我想创建一个空的位图并将画布设置为该位图,然后在该位图上绘制任何形状。
Answers:
这可能比您想的要简单:
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
这是我在以下主题上找到的一系列教程:使用画布系列绘图
不要使用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可使您陷入内存不足的问题。或者更好的方法是,尝试避免使用ARGB选项本身。