2012-03-16 49 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

相關問題