Heim >Backend-Entwicklung >C++ >Wie kann ich ein System effizient umwandeln.
Effiziente Konvertierung von System.Drawing.Bitmap in WPF BitmapImage
WPF-Anwendungen verwenden normalerweise die Klasse System.Windows.Media.Imaging.BitmapImage
, um Bilder zu verarbeiten. Wenn Sie jedoch mit vorhandenen System.Drawing.Bitmap
-Objekten arbeiten, ist deren Konvertierung in BitmapImage
ein nützlicher Schritt. Durch diese Transformation können diese Bilder in WPF-Anwendungen angezeigt und bearbeitet werden.
Der effizienteste Weg, System.Drawing.Bitmap
in BitmapImage
umzuwandeln, ist die Verwendung von MemoryStream
. Hier sind die detaillierten Schritte:
<code class="language-csharp">using(MemoryStream memory = new MemoryStream()) { bitmap.Save(memory, ImageFormat.Png); memory.Position = 0; BitmapImage bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource = memory; bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.EndInit(); }</code>
MemoryStream
-Objekt und verwenden Sie die System.Drawing.Bitmap
-Methode von Save()
, um die Bitmap in einem Speicherstream im gewünschten Bildformat zu speichern (z. B. ImageFormat.Png
). Position
des Speicherstreams auf den Anfang (0) zurück, von dem aus gelesen werden soll. BitmapImage
-Objekt. BeginInit()
und EndInit()
BitmapImage
initialisiert und abgeschlossen. BitmapImage
-Attribut von StreamSource
auf einen Speicherstream, um das Bild aus dem Stream zu laden. CacheOption
auf BitmapCacheOption.OnLoad
, damit das Bild für einen schnelleren späteren Zugriff zwischengespeichert wird. EndInit()
, um die Initialisierung von BitmapImage
zu beenden. Nach Abschluss dieser Konvertierung kann das BitmapImage
-Objekt wie jede andere WPF-Bildressource verwendet werden, z. B. um es in einem Image
-Steuerelement anzuzeigen oder Bildvorgänge auszuführen.
Das obige ist der detaillierte Inhalt vonWie kann ich ein System effizient umwandeln.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!