2010-05-24 12 views

Respuesta

56

Necesita utilizar un codificador (subclase de BitmapEncoder). Por ejemplo, para guardarlo en el formato PNG, haces algo por el estilo:

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); 
    } 
} 

Por cierto, tenga en cuenta que no hay a bug in Clipboard.GetImage. No debería ser un problema si solo guarda la imagen en un archivo, pero lo hará si desea visualizarla.


EDIT: el error mencionado anteriormente parece estar fija en 4,0

+0

Esto no se compila en mi máquina. Los parámetros BitmapFrame.Create son URI o stream, no image: \ –

+0

@IgnacioSolerGarcia Este método existe en WPF: https://msdn.microsoft.com/en-us/library/ms615993(v=vs.110).aspx. ¿Qué tipo de aplicación estás haciendo? –

+0

Tienes razón, lo siento. Hice una aplicación rápida de prueba de concepto con WinForms. –

Cuestiones relacionadas