我尝试通过标准 Windows.Forms 实现它的方式(以获得有效的 DialogResult.OK)
System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
// dlg.DefaultExt = ".jpg"; // Default file extension
dlg.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
if(dlg.ShowDialog()== System.Windows.Forms.DialogResult.OK)
if (dlg.DialogResult.HasValue && splashDialog.DialogResult.Value)
{
string fName = dlg.FileName;
if (dlg.FileName != "")
{
System.IO.Stream fileStream = (System.IO.FileStream)dlg.OpenFile();
fileStream.Close();
}
}
这是使用 Windows 表单,但它保存空白图像((
最佳答案
你可以这样做:
var encoder = new JpegBitmapEncoder(); // Or PngBitmapEncoder, or whichever encoder you want
encoder.Frames.Add(BitmapFrame.Create(yourImage));
using (var stream = dlg.OpenFile())
{
encoder.Save(stream);
}
顺便说一句,WPF 中也有一个 SaveFileDialog
,您不必使用 Windows 窗体中的一个
关于c# - 如何从 WPF 中通过 SaveFileDialog 保存 BitmapImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152511/