WPF では、System.Windows.Clipboard.getImage()
関数はオブジェクトを返しBitmapSource
ます。WinForms の背景を持つ WPF の初心者として、この画像をファイルに保存する方法がわかりません。どのような手順を踏む必要がありますか?
54772 次
2 に答える
79
エンコーダ (のサブクラス) を使用する必要があります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
があることに注意してください。画像をファイルに保存するだけなら問題ないはずですが、表示したい場合は問題になります。
EDIT:上記のバグは4.0で修正されたようです
于 2010-05-24T21:47:35.590 に答える