Heim > Backend-Entwicklung > C++ > Wie kann ich eine Bitmap in ein Byte-Array konvertieren, ohne temporäre Dateien zu verwenden?

Wie kann ich eine Bitmap in ein Byte-Array konvertieren, ohne temporäre Dateien zu verwenden?

Barbara Streisand
Freigeben: 2025-01-23 15:02:11
Original
388 Leute haben es durchsucht

How Can I Convert a Bitmap to a Byte Array Without Using Temporary Files?

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

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

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!

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