Maison >développement back-end >C++ >Comment puis-je charger dynamiquement des images dans WPF ?

Comment puis-je charger dynamiquement des images dans WPF ?

DDD
DDDoriginal
2025-01-22 16:57:09315parcourir

How Can I Dynamically Load Images in WPF?

Chargement dynamique des images dans WPF

Les applications WPF doivent souvent charger des images à partir de ressources externes au moment de l'exécution. Avec les ressources fournies par le framework .NET, le processus est très simple et direct.

Utilisez la classe BitmapImage pour charger des images au moment de l'exécution. Il fournit un attribut Source qui accepte un objet Uri ou Stream. Par conséquent, vous pouvez spécifier la position de l’image de différentes manières.

Utiliser Uri

Uri Les fichiers images peuvent être référencés directement, quel que soit leur emplacement. Voici plusieurs formats Uri courants :

  • Fichiers locaux : Uri("file://path/to/image.png")
  • Ressources Internet : Uri("http://server/image.png")
  • Ressources d'assemblage : Uri("pack://application:,,,/AssemblyName;component/path/to/image.png")

Exemple d'utilisation d'Uri :

<code class="language-csharp">var uri = new Uri("pack://application:,,,/Bilder/sas.png");
var bitmap = new BitmapImage(uri);
image1.Source = bitmap;</code>

Utiliser le flux

Si l'image est fournie sous la forme Stream, vous pouvez utiliser le code suivant :

<code class="language-csharp">using (var stream = new FileStream("path/to/image.png", FileMode.Open))
{
    var bitmap = new BitmapImage();
    bitmap.BeginInit();
    bitmap.StreamSource = stream;
    bitmap.EndInit();
    image1.Source = bitmap;
}</code>

Définir la source de l'image

Après avoir créé l'objet BitmapImage, vous devez l'attribuer à l'attribut Image du contrôle Source en XAML. Par exemple :

<code class="language-xml"><Image x:Name="image1" /></code>
<code class="language-csharp">image1.Source = bitmap;</code>

Autres consignes :

  • Assurez-vous que l'application peut accéder au fichier image et dispose des autorisations correctes.
  • Si vous chargez l'image à partir d'une ressource d'assembly, assurez-vous que l'action de construction du fichier image est définie sur « Ressource » dans Visual Studio.
  • Vous pouvez utiliser l'attribut Image.Stretch pour contrôler la façon dont une image apparaît dans un espace donné.

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:
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