2010-05-24 12 views

답변

56

인코더 (서브 클래스 BitmapEncoder)를 사용해야합니다. , 그런데

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있다 참고 : 예를 들어, PNG 형식으로 저장하려면, 당신은 그런 일을한다. 이미지를 파일에 저장하면 문제가되지 않지만, 표시하려는 경우에는 문제가되지 않습니다.


편집 : 위에서 언급 한 버그는 내 컴퓨터에서 컴파일되지 않습니다 4.0

+0

이 고정 될 것으로 보인다. BitmapFrame.Create 매개 변수는 이미지가 아니라 URI 또는 ​​스트림입니다. \ –

+0

@IgnacioSolerGarcia이 메서드는 WPF에 있습니다. https://msdn.microsoft.com/en-us/library/ms615993(v=vs.110).aspx. 어떤 종류의 앱을 만들고 있습니까? –

+0

네 말이 맞아. 미안. WinForms를 사용하여 컨셉 애플리케이션의 빠른 증명을했습니다. –

관련 문제