SaveFIleDialog에 문제가 있습니다. stackoverflow에서 몇 단계를 수행했습니다. 문제는 SaveFileDialog를 사용하지 않을 때입니다.이 경우 :SaveFileDialog로 이미지 저장 안 함
private void SaveImage(Canvas canvas, string fileName)
{
RenderTargetBitmap renderBitmap = new RenderTargetBitmap(4646, 3890, 1500d, 1500d, 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);
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderBitmap));
using (FileStream file = File.Create(fileName))
{
encoder.Save(file);
}
}
저장 단추 이벤트에서 호출하면 작동합니다. 하지만 난이 같이 사용할 때
private void SaveImage(Canvas canvas, string fileName)
{
RenderTargetBitmap renderBitmap = new RenderTargetBitmap(4646, 3890, 1500d, 1500d, 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);
SaveFileDialog s = new SaveFileDialog();
s.FileName = "Pic";
s.DefaultExt = ".png";
s.Filter = "Picture files (.png)|*.png";
Nullable<bool> result = s.ShowDialog();
if (result == true)
{
string filename = s.FileName;
}
}
는 모든 파일을 저장하지 않습니다. 조언이 있으십니까? 내가 도대체 뭘 잘못하고있는 겁니까?
;'? - 첫 번째 예제에서와 같이 대화 상자에서 선택한 이름을 파일 스트림으로 전달하십시오. 대화 상자는 사용자가 선택한 파일 이름 문자열을 제공하며 디스크에 아무 것도 쓸 수 없으며/쓸 수 없습니다. –