Feedback

C# - Image in string wandeln und zurück

Veröffentlicht von am 01.12.2008
(1 Bewertungen)
Diese Snippets wandeln:
a) ein Image unter Angabe des ImageFormat in einen Base64String
b) einen Base64String wieder zurück in ein Image

Diese Methoden können z.B. bei der Serialisierung in eine XML Datei verwendet werden um Thumbs abzulegen.
public string ImageToBase64String( Image image, ImageFormat format )
{
   MemoryStream memory = new MemoryStream();
   image.Save( memory, format );
   string base64 = Convert.ToBase64String( memory.ToArray() );
   memory.Close();

   return base64;
}

public Image ImageFromBase64String( string base64 )
{
   MemoryStream memory = new MemoryStream( Convert.FromBase64String( base64 ) );
   Image result = Image.FromStream( memory );
   memory.Close();

   return result;
}
Abgelegt unter Image, Bitmap, Serialisieren, string, Base64String.

1 Kommentare zum Snippet

Günther Foidl schrieb am 02.12.2008:
Die Ressourcen des MemoryStreams werden nicht freigegeben (Dispose).
Dazu empfiehlt sich die Verwendung von

using (MemoryStream memory = new MemoryStream())
{
image.Save(memory, format);
string base64 = Convert.ToBase64String(memory.ToArray());
}

Das Close und Dispose wird dann automatisch erledigt - auch im Falle eines Fehlers.
 

Logge dich ein, um hier zu kommentieren!