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 많이! – MicroDev
아무런 문제없이 필자는 일주일 내내 이미지/스크린 샷을 내보내는 데 어려움을 겪었으므로이 정확한 문제에 부딪혔습니다. – Joe