2012-10-24 72 views
0
我使用

下對我的應用程序保存簽名捕獲爲JPG

https://github.com/Cheesebaron/MonoDroid.CaptureSignature

其工作的罰款,如果我保存圖像爲PNG捕捉簽名,但我想將其保存爲JPG

我改變Bitmap.CompressFormat.Png到Bitmap.CompressFormat.Jpg

但我所得到的是一個黑色的JPG文件,因爲寫作是黑色

和背景已經是黑色。我怎樣才能讓圖像背景變白?

代碼我改變

using (var fs = new FileStream(extFileName, FileMode.OpenOrCreate)) 
{ 
    _capture.CanvasBitmap().Compress(Bitmap.CompressFormat.Jpg, 100, fs); 
} 

尋找幫助。謝謝

回答

0

我認爲你只能通過在畫布上設置顏色來做到這一點。

How to change the background color of a saved transparent bitmap

所以,你可以嘗試改變:

_capture.CanvasBitmap().Compress(Bitmap.CompressFormat.Png, 100, fs); 

喜歡的東西:

var b = _capture.CanvasBitmap(); 
var newBitmap = Bitmap.CreateBitmap(b.Width, b.Height, b.Config); 
var canvas = new Canvas(newBitmap); 
canvas.DrawColor(Color.WHITE); 
canvas.DrawBitmap(b, 0, 0, null); 
newBitmap.Compress(Bitmap.CompressFormat.Jpg, 100, fs); 

但這種代碼是未經測試在這裏 - 對不起!

+0

未經測試,但效果很好。謝謝Stuart 只有我不得不改變的是 var newBitmap = Bitmap.CreateBitmap(b.Width,b.Height,Bitmap.Config.Argb8888); – user1573610