Heim >Backend-Entwicklung >C++ >Wie kann ich eine Bitmap in C# effizient in ein Byte-Array konvertieren?
Effiziente Bitmap-zu-Byte-Array-Konvertierung in C#
Das Speichern einer Windows-Bitmap in einer temporären Datei und das anschließende Lesen als Byte-Array ist eine gängige Konvertierungsmethode, die jedoch nicht effizient ist. Hier sind zwei Alternativen in C#, die eine bessere Leistung bieten.
ImageConverter verwenden
Die ImageConverter-Klasse bietet eine praktische Möglichkeit, ein Bild in ein Byte-Array zu konvertieren:
<code class="language-csharp">public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }</code>
Diese Methode erfordert keine umfangreiche Codierung und ist ideal für kleinere Konvertierungsaufgaben.
MemoryStream verwenden
Mit der MemoryStream-Klasse können Sie Bilder im Speicher statt auf der Festplatte speichern:
<code class="language-csharp">public static byte[] ImageToByte2(Image img) { using (var stream = new MemoryStream()) { img.Save(stream, System.Drawing.Imaging.ImageFormat.Png); return stream.ToArray(); } }</code>
Zusätzliche Vorteile dieser Methode sind die Wahl des Bildformats und die Möglichkeit, die Daten auf der Festplatte zu speichern oder im Speicher zu behalten.
Diese Alternativen bieten effiziente und flexible Lösungen zum Konvertieren von Bitmaps in Byte-Arrays, reduzieren unnötige Festplattenvorgänge und verbessern die Leistung.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Bitmap in C# effizient in ein Byte-Array konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!