2011-09-29 64 views
1

我想創建一個簽名組件,用戶可以在視圖上寫他的簽名,並將結果位圖保存爲圖像。我能夠成功實現這一目標。 但我的問題是,被保存的圖像的背景顏色始終是透明的。在我的onDraw方法i執行以下操作:從位圖創建的圖像的背景

@Override 
protected void onDraw(Canvas canvas) { 
    canvas.drawColor(Color.GREEN); 
    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint); 
    canvas.drawPath(mPath, mPaint); 
} 

和當寫入到文件系統I執行以下操作:

fOut = new FileOutputStream(file); 
mBitmap.compress(Bitmap.CompressFormat.PNG,100, fOut); 
fOut.flush(); 
fOut.close(); 

設備上的視圖,而作爲示出的圖像捕獲簽名下面:將位圖寫入到文件系統 enter image description here

後的圖像是如下:

enter image description here

有人可以幫助我。我希望我的圖像具有與畫布相同的背景。 在此先感謝。

回答

1

從你的問題,你似乎想要將整個視圖保存爲位圖而不是路徑對象。要做到這一點,你可以簡單地將視圖的DrawingCache保存爲Bitmap

myView.buildDrawingCache() 
Bitmapt b = myView.getDrawingCache() 
fOut = new FileOutputStream(file); 
mBitmap.compress(Bitmap.CompressFormat.PNG,100, fOut); 
fOut.flush(); 
fOut.close(); 
+0

Hello Slayton。 非常感謝。正是我想要的。 :-) –