在 Android 中创建一个空位图并通过画布进行绘制

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

138707 次浏览

This is probably simpler than you're thinking:

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

下面是关于这个主题的官方文档: Custom Drawing

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