c# - 如何从 WPF 中通过 SaveFileDialog 保存 BitmapImage?

标签 c# wpf savefiledialog

我尝试通过标准 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/

相关文章:

c# - 与在 Visual Studio 中运行相比,WPF exe 运行速度非常慢

excel - GetSaveAsFilename 在目录名称中带有空格

wpf - WPF 数据绑定(bind)是否会将更改编码到 UI 线程?

wpf - 有没有人注意到,当双击选择一个文件时,WPF 文件对话框会将点击传递到 UI?

visual-studio-2008 - Visual Studio 2008 "Save File As"对话框间歇性问题

c# - 将 Parallel.ForEach 限制为仅 64 个操作

c# - 实现 Parse Unity 插件的应用程序在 Android 设备上崩溃但在编辑器中运行良好

c# - 正则表达式:查找不同字符串变体中的字符串

c# - 用高效代码(可能是 linq)替换 3 层嵌套 for 循环

c# - 为什么 VS 2015 停止诊断 session 会永远持续下去?