빈 비트 맵을 만들고 해당 비트 맵에 캔버스를 설정 한 다음 비트 맵에 모양을 그리고 싶습니다.
답변
이것은 아마도 당신이 생각하는 것보다 더 간단 할 것입니다.
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은 더 많은 비트 맵이나 큰 비트 맵을 다룰 때 OutOfMemory 문제에 빠질 수 있습니다. 또는 더 나은 방법은 ARGB 옵션 자체의 사용을 피하는 것입니다.