1

アプリケーションで署名をキャプチャするために以下を使用しています

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

助けを求めています。ありがとう

4

1 に答える 1

1

キャンバスに色を設定することによってのみこれを行うことができると思います。

保存した透明ビットマップの背景色を変更する方法を参照してください。

したがって、次のように変更してみてください。

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

しかし、このコードはここではテストされていません - 申し訳ありません!

于 2012-10-24T23:06:45.457 に答える