将签名捕获保存为jpg

时间:2012-10-24 21:27:48

标签: mono xamarin.android

我正在使用以下功能来捕获我的应用程序上的签名

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);
}

寻求帮助。感谢

1 个答案:

答案 0 :(得分:1)

我认为你只能通过在画布上设置颜色来做到这一点。

请参阅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);

但是这段代码在这里未经测试 - 抱歉!

相关问题