2009-11-03 20 views

Odpowiedz

102

Spróbuj wykonać następujące czynności:

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

Następnie można użyć następujących:

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

Wymień GIF z dowolnym formacie jest odpowiednie dla Twojego scenariusza .

+0

Właśnie napisałem dokładnie to samo! – configurator

+0

System.Drawing.Image.Save wymaga formatu podczas zapisywania do strumienia. http://msdn.microsoft.com/en-us/library/ms142147.aspx – jcollum

+2

Możesz zachować oryginalny format obrazu, zmieniając instrukcję zapisu obrazu na: image.Save (stream, image.RawFormat); – Marko

6

pomocą strumienia pamięci

using(MemoryStream ms = new MemoryStream()) 
{ 
    image.Save(ms, ...); 
    return ms.ToArray(); 
} 
Powiązane problemy