2012-03-16 52 views
0

当我创建onDraw()Canvas这样的:为什么我不能用自己的画布绘制?

Canvas c = new Canvas(myBitmap); 

,然后用它来画点什么,忽略了最低的工作。

但是,当我使用onDraw(Canvas canvas)canvas参数时,它的工作原理。有人能告诉我为什么吗?

+1

你是什么意思“它不工作”。如果你正在寻找一个好的答案,你可能需要编辑你的问题来澄清。 – 2012-03-16 09:51:18

回答

0

尝试这个 -

Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap); 
view.draw(canvas); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); 

而且,请参阅相关的问题从Stackoverflow

,并尝试了Sampleapp也。

0

你得到了什么样的错误?如果你想只画一个位图,使用下面的代码:

@Override 
      protected void onDraw(Canvas canvas) 
      { 
       canvas.drawBitmap(bak, 0, 0, null); 
      } 

其中“bak”是一个位图。不需要在onDraw中再次创建另一个额外的Canvas作为冗余。

+0

,但我想画一个白色区域320 * 240 .....当我使用canvas.drawColor(Color.WHITE)上面的画布;整个屏幕是白色的 – octobershiner 2012-03-18 07:56:02

相关问题