2009-11-03 19 views

risposta

102

Provare quanto segue:

public static Stream ToStream(this Image image, ImageFormat format) { 
    var stream = new System.IO.MemoryStream(); 
    image.Save(stream, format); 
    stream.Position = 0; 
    return stream; 
} 

Quindi è possibile utilizzare il seguente:

var stream = myImage.ToStream(ImageFormat.Gif); 

Sostituire GIF con qualsiasi formato è appropriato per lo scenario .

+0

Stavo solo scrivendo esattamente la stessa cosa! – configurator

+0

System.Drawing.Image.Save richiede un formato quando si salva in un flusso. http://msdn.microsoft.com/en-us/library/ms142147.aspx – jcollum

+2

È possibile mantenere il formato dell'immagine originale modificando l'istruzione di salvataggio dell'immagine in: image.Save (stream, image.RawFormat); – Marko

6

Utilizzare un flusso di memoria

using(MemoryStream ms = new MemoryStream()) 
{ 
    image.Save(ms, ...); 
    return ms.ToArray(); 
} 
Problemi correlati