-
慕森卡
建议取决于你想要做什么。如果您担心控件需要很长时间才能绘制,并且您想要绘制位图以便您可以通过blit重新绘制位图而不是通过画布重新绘制,那么您不希望双重猜测平台 - 控件自动将其绘图缓存到临时位图,甚至可以使用控件从控件中获取这些位图getDrawingCache()如果要使用画布绘制位图,通常的配方是:使用创建正确大小的位图 Bitmap.createBitmap()使用Canvas(Bitmap)构造函数创建指向此位图的画布实例画到画布上使用位图
-
元芳怎么了
所以你创建一个新的Bitmap,例如:Bitmap myBitmap = new Bitmap( (int)Width, (int)Height, Config.RGB_565 )同width和height是一样的画布。接下来,使用canvas.setBitmap(myBitmap),但不是drawBitmap()。在你打电话之后setBitmap,你在画布上绘制的所有内容实际上都是myBitmap通过我所说明的示例代码来实现的。编辑:您无法直接创建位图,例如:Bitmap myBitmap = new Bitmap( (int)Width, (int)Height, Config.RGB_565 );你必须使用:Bitmap myBitmap = Bitmap.createBitmap( (int)Width, (int)Height, Config.RGB_565 );
-
慕雪6442864
其他例子:public Bitmap getBitmapNews(int item , boolean selected, int numbernews){ Bitmap bitmap; if(selected) bitmap=mBitmapDown[item].copy(Config.ARGB_8888, true); else bitmap=mBitmapUp[item].copy(Config.ARGB_8888, true); Canvas canvas = new Canvas(bitmap); if(numbernews<10){ canvas.drawBitmap(mNotiNews[numbernews],0,0,null); }else{ canvas.drawBitmap(mNotiNews[0],0,0,null); } return bitmap; }