Tôi muốn tạo một bitmap trống và đặt canvas cho bitmap đó rồi vẽ bất kỳ hình dạng nào trên bitmap.
Tôi muốn tạo một bitmap trống và đặt canvas cho bitmap đó rồi vẽ bất kỳ hình dạng nào trên bitmap.
Câu trả lời:
Điều này có lẽ đơn giản hơn bạn nghĩ:
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
Đây là một loạt các hướng dẫn mà tôi đã tìm thấy về chủ đề: Vẽ với Dòng Canvas
Không sử dụng Bitmap.Config.ARGB_8888
Thay vào đó, hãy sử dụng 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 có thể đưa bạn vào các vấn đề OutOfMemory khi xử lý nhiều bitmap hơn hoặc bitmap lớn. Hoặc tốt hơn, hãy thử tránh sử dụng tùy chọn ARGB.