2012-10-24 38 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