代码之家  ›  专栏  ›  技术社区  ›  tbischel

如何将WPF映像保存到文件

  •  29
  • tbischel  · 技术社区  · 16 年前

    在WPF中, System.Windows.Clipboard.getImage() 函数返回 BitmapSource 对象。作为WPF的新手,我不清楚如何将此图像保存到文件中。我必须采取哪些步骤?

    1 回复  |  直到 11 年前
        1
  •  61
  •   Thomas Levesque    11 年前

    您需要使用编码器(的子类 BitmapEncoder )例如,要将其保存为PNG格式,请执行以下操作:

    public static void SaveClipboardImageToFile(string filePath)
    {
        var image = Clipboard.GetImage();
        using (var fileStream = new FileStream(filePath, FileMode.Create))
        {
            BitmapEncoder encoder = new PngBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(image));
            encoder.Save(fileStream);
        }
    }
    

    顺便说一下,注意 a bug in Clipboard.GetImage . 如果您只将图像保存到一个文件中,这不应该是一个问题,但如果您想显示它,这将是一个问题。


    编辑:上面提到的bug似乎在4.0中得到了修复。