Abschied von temporären Dateien: zwei effiziente Konvertierungsmethoden von Bitmap in Byte-Array
Das Konvertieren von Windows-Bitmaps in Byte-Arrays ist eine häufige Aufgabe in der Softwareentwicklung. Obwohl das Speichern der Bitmap in einer temporären Datei und das anschließende Lesen mit FileStream eine einfache Methode ist, ist sie nicht die effizienteste Lösung. In diesem Artikel werden zwei alternative Methoden vorgestellt, die keine temporären Dateien erfordern.
Methode 1: ImageConverter-Klasse
Die ImageConverter-Klasse bietet eine praktische Konvertierungsmethode, die mit nur wenigen Codezeilen abgeschlossen werden kann:
<code class="language-c#">public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }</code>
Methode 2: MemoryStream (MemoryStream)
Ein anderer Ansatz ist die Verwendung von Speicherströmen. Dieser Ansatz simuliert das Speichern in einer temporären Datei, behält die Daten jedoch im Speicher:
<code class="language-c#">public static byte[] ImageToByte2(Image img) { using (var stream = new MemoryStream()) { img.Save(stream, System.Drawing.Imaging.ImageFormat.Png); return stream.ToArray(); } }</code>
Die Speicher-Streaming-Methode bietet mehr Flexibilität. Sie können das ImageFormat angeben und auswählen, ob im Speicher oder auf der Festplatte gespeichert werden soll.
Zusammenfassung
Sowohl ImageConverter als auch MemoryStream bieten praktikable Alternativen für die Konvertierung von Bitmaps in Byte-Arrays ohne die Verwendung temporärer Dateien. Die ImageConverter-Methode ist prägnanter, während die MemoryStream-Methode mehr Kontrolle bietet. Sie können je nach Ihren spezifischen Anforderungen die am besten geeignete Methode auswählen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Bitmap in ein Byte-Array konvertieren, ohne temporäre Dateien zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!