Heim > Backend-Entwicklung > C++ > Wie konvertiere ich eine System.Drawing.Bitmap in ein WPF-BitmapImage?

Wie konvertiere ich eine System.Drawing.Bitmap in ein WPF-BitmapImage?

Mary-Kate Olsen
Freigeben: 2025-01-28 01:06:09
Original
431 Leute haben es durchsucht

How to Convert a System.Drawing.Bitmap to a WPF BitmapImage?

system konvertieren

Konvertieren Sie das vorhandene System. Eine effektive Methode besteht darin, die Bitmap in mermorystream zu konvertieren und dann die Methoden mit BeginnInit () und endinit () von Bitmapimage zu verwenden. Das Folgende ist eine detaillierte Beschreibung dieses Ziels: Erstellen Sie zunächst eine Speicherstream -Instanz und verwenden Sie das entsprechende ImageFormat, um System.Drawing.bitmap in sie zu speichern. In diesem Beispiel werden wir PNG verwenden:

Setzen Sie als nächstes die Position des Speichers bis zum Anfang zurück, um sicherzustellen, dass Bitmapimage Bilddaten lesen kann:

using(MemoryStream memory = new MemoryStream())
{
    bitmap.Save(memory, ImageFormat.Png);
Nach dem Login kopieren
Erstellen Sie nun eine neue Bitmapimage -Instanz und rufen Sie seine Methode mit BeginnInit () auf. Diese Methode initialisiert Bitmapimage und bereitet sie auf das Laden von Bilddaten vor.

    memory.Position = 0;
Nach dem Login kopieren
Setzen Sie das StreamSource -Attribut von Bitmapimage auf den zuvor erstellten Speicherfluss. Mit diesem Attribut kann Bitmapimage Bilddaten aus Streams lesen.

    BitmapImage bitmapImage = new BitmapImage();
    bitmapImage.BeginInit();
Nach dem Login kopieren
Um die Leistung zu optimieren, setzen Sie die CacheOption von Bitmapimage auf bitmapcacheOption.onload. Diese Option zwischengespeichert die Bilddaten in den Speicher, nachdem das Bild zum ersten Mal geladen wurde, wodurch die nachfolgende Erkennungsleistung verbessert wurde.

    bitmapImage.StreamSource = memory;
Nach dem Login kopieren
Rufen Sie schließlich die Endinit () -Methode von Bitmapimage auf, um den Ladevorgang abzuschließen. Diese Methode überprüft die Bilddaten und stellt sie zur Anzeige zur Verfügung.

    bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
Nach dem Login kopieren
Wenn Sie diese Schritte befolgen, können Sie System.Drawing.bitmap in System.Windows.Media.imaging.bitmapimage, die in WPF -Anwendungen verwendet werden können, erfolgreich konvertieren.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine System.Drawing.Bitmap in ein WPF-BitmapImage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage