WPF BitMapsource画像をファイルに保存する方法は?
-
04-10-2019 - |
質問
WPFで、 System.Windows.Clipboard.getImage()
関数はaを返します BitmapSource
物体。 Winformsのバックグラウンドから来るWPFの初心者として、この画像をファイルに保存する方法は明確ではありません。私がとらなければならないステップは何ですか?
解決
エンコーダ(のサブクラス)を使用する必要があります 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);
}
}
ちなみに、あることに注意してください バグイン Clipboard.GetImage
. 。画像をファイルに保存するだけでも問題になりませんが、表示したい場合はそうです。
編集:上記のバグは4.0で修正されているようです
所属していません StackOverflow