黒い四角形で配置されたイメージを作成しているので、JpegBitmapEncoderに問題があります。私は修正のための解決策がありません。このコードでWPF - 黒背景jpegとして保存されたキャンバスを取り囲んで
private void SaveImage(Canvas canvas, string fileName)
{
SaveFileDialog s = new SaveFileDialog();
s.FileName = "Pic";
s.DefaultExt = ".jpg";
s.Filter = "JPG files (.jpg)|*.jpg";
Nullable<bool> result = s.ShowDialog();
if (result == true)
{
RenderTargetBitmap renderBitmap = new RenderTargetBitmap(6646, 3940, 2000d, 2000d, PixelFormats.Pbgra32);
canvas.Measure(new Size((int)canvas.Width, (int)canvas.Height));
canvas.Arrange(new Rect(new Size((int)canvas.Width, (int)canvas.Height)));
renderBitmap.Render(canvas);
string filename = s.FileName;
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderBitmap));
using (FileStream file = File.Create(filename))
{
encoder.Save(file);
}
}
}
私が取得:
が、私はこれが起こらないPngBitmapエンコーダーを使用しています。誰でも光を照らすことができますか? 黒い矩形を削除するにはどうすればよいですか、または画像のサイズを大きくして塗りつぶすことはできますか?
これは実際には良いですが、それは問題を解決し、問題は(私は境界線を持っていましたキャンバス(実際にキャンバスは画像のxDのサイズです)の周りに私が忘れているので、私は白で国境を埋めるとき、それは実際にトリックを行います! Tnx alot! – MicroDev
問題はありません。私は一週間以内に画像やスクリーンショットをエクスポートすることに取り組んできましたが、ちょうどこの正確な問題にヒットしました! – Joe