我正在使用以下功能来捕获我的应用程序上的签名
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 :(得分: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);
但是这段代码在这里未经测试 - 抱歉!