Conversion efficace de System.Drawing.Bitmap en WPF BitmapImage
Les applications WPF utilisent généralement la classe System.Windows.Media.Imaging.BitmapImage
pour gérer les images. Cependant, lorsqu'il s'agit d'objets System.Drawing.Bitmap
existants, les convertir en BitmapImage
est une étape utile. Cette transformation permet à ces images d'être affichées et manipulées dans les applications WPF.
Le moyen le plus efficace de convertir System.Drawing.Bitmap
en BitmapImage
est d'utiliser MemoryStream
. Voici les étapes détaillées :
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(); }
MemoryStream
et utilisez la méthode System.Drawing.Bitmap
de Save()
pour enregistrer le bitmap dans un flux mémoire dans le format d'image souhaité (par exemple, ImageFormat.Png
). Position
du flux mémoire au début (0) à partir duquel lire. BitmapImage
. BeginInit()
et EndInit()
BitmapImage
. BitmapImage
de StreamSource
sur un flux mémoire pour charger l'image à partir du flux. CacheOption
sur BitmapCacheOption.OnLoad
afin que l'image soit mise en cache pour un accès ultérieur plus rapide. EndInit()
pour terminer l'initialisation de BitmapImage
. Une fois cette conversion terminée, l'objet BitmapImage
peut être utilisé comme n'importe quelle autre ressource d'image WPF, par exemple en l'affichant dans un contrôle Image
ou en effectuant des opérations sur l'image.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!