Creating an empty bitmap and drawing though canvas in Android

后端 未结 2 2045
南方客
南方客 2020-11-28 22:49

I\'d like to create an empty bitmap and set a canvas to that bitmap and then draw any shape on the bitmap.

相关标签:
2条回答
  • 2020-11-28 23:29

    Do not use Bitmap.Config.ARGB_8888

    Instead use 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 can land you in OutOfMemory issues when dealing with more bitmaps or large bitmaps. Or better yet, try avoiding usage of ARGB option itself.

    0 讨论(0)
  • 2020-11-28 23:49

    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
    

    Here's a series of tutorials I've found on the topic: Drawing with Canvas Series

    0 讨论(0)
提交回复
热议问题