2012-01-31 49 views
1

我正在嘗試自定義一些代碼以捕捉我使用的簽名。我對這個東西很陌生,我無法弄清楚。 以下代碼執行該作業,但畫布/位圖位於左上角。我希望它在頁面上部的中心部分。我試圖解決drawBitmap parms「canvas.drawBitmap(mBitmap,0,0,null)」的問題,但它實際上在手寫筆和平板電腦上繪製的實際路徑之間創建了一個偏移量。將Android位圖/畫布從左上角移開

Canvas canvas = null; 
while (_run) { 
    if (isDrawing == true) { 
     try { 
      canvas = mSurfaceHolder.lockCanvas(null); 
      if (mBitmap == null) { 
       mBitmap = Bitmap.createBitmap(300, 200, Bitmap.Config.ARGB_8888); 
      } 
      final Canvas c = new Canvas(mBitmap); 
      c.drawColor(0, PorterDuff.Mode.CLEAR); 
      canvas.drawColor(0, PorterDuff.Mode.CLEAR); 
      commandManager.executeAll(c, previewDoneHandler); 
      previewPath.draw(c); 
      // Rect targetRect = new Rect(0, 0, 300, 200); 
      // canvas.drawBitmap(mBitmap, null, targetRect, null); 
      canvas.drawBitmap(mBitmap, 0, 0, null); 
     } finally { 
      mSurfaceHolder.unlockCanvasAndPost(canvas); 

是否將位圖/畫布移動到左上角以外的位置?謝謝你的幫助。

+0

嗨,請將您解決問題的步驟添加爲答案(下方),然後在允許的情況下_accept_答案。謝謝! – 2012-02-01 21:39:48

回答

1

我解決這個問題的方法是將layout_marginLeft和layout_marginTop添加到xml佈局中的自定義視圖中。