Heim > Backend-Entwicklung > C++ > Wie konvertiert man eine Windows-Bitmap effizient in ein Byte-Array?

Wie konvertiert man eine Windows-Bitmap effizient in ein Byte-Array?

Barbara Streisand
Freigeben: 2025-01-23 15:12:11
Original
898 Leute haben es durchsucht

How to Efficiently Convert a Windows Bitmap to a Byte Array?

Windows-Bitmap in Byte-Array konvertieren

Das Konvertieren einer Windows-Bitmap in ein Byte-Array ist eine häufige Aufgabe in verschiedenen Anwendungen. Während das Speichern des Bildes in einer temporären Datei und die anschließende Verwendung eines FileStreams zum Lesen des Inhalts ein praktikabler Ansatz ist, gibt es einen effizienteren und allgemeineren Ansatz.

ImageConverter-Klasse

Eine bequeme Möglichkeit ist die Verwendung der ImageConverter-Klasse:

<code class="language-c#">public static byte[] ImageToByte(Image img)
{
    ImageConverter converter = new ImageConverter();
    return (byte[])converter.ConvertTo(img, typeof(byte[]));
}</code>
Nach dem Login kopieren

Diese Methode konvertiert ein Bild problemlos in ein Byte-Array ohne zusätzliche Codierung.

MemoryStream

Eine andere Möglichkeit ist die Verwendung von Speicherströmen:

<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>
Nach dem Login kopieren

Diese Methode simuliert die temporäre Dateimethode, speichert das Bild jedoch nicht auf der Festplatte, sondern im Speicher. Dies bietet Flexibilität und ermöglicht Ihnen, je nach Bedarf zwischen der Speicherung im Speicher oder auf der Festplatte zu wählen.

Das obige ist der detaillierte Inhalt vonWie konvertiert man eine Windows-Bitmap effizient in ein Byte-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage