Maison > développement back-end > C++ > Comment convertir efficacement un System.Drawing.Bitmap en un BitmapImage WPF ?

Comment convertir efficacement un System.Drawing.Bitmap en un BitmapImage WPF ?

Patricia Arquette
Libérer: 2025-01-28 01:21:12
original
493 Les gens l'ont consulté

How Do I Efficiently Convert a System.Drawing.Bitmap to a WPF BitmapImage?

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();
}
Copier après la connexion
  1. Créez un objet 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).
  2. Règle le Position du flux mémoire au début (0) à partir duquel lire.
  3. Crée un objet BitmapImage.
  4. est initialisé et complété à l'aide des méthodes BeginInit() et EndInit() BitmapImage.
  5. Définissez l'attribut BitmapImage de StreamSource sur un flux mémoire pour charger l'image à partir du flux.
  6. Définissez CacheOption sur BitmapCacheOption.OnLoad afin que l'image soit mise en cache pour un accès ultérieur plus rapide.
  7. Utilisez 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal