Heim >Backend-Entwicklung >C++ >Wie kann ich Bilder dynamisch in WPF laden?

Wie kann ich Bilder dynamisch in WPF laden?

DDD
DDDOriginal
2025-01-22 16:57:09300Durchsuche

How Can I Dynamically Load Images in WPF?

Dynamisches Laden von Bildern in WPF

WPF-Anwendungen müssen zur Laufzeit häufig Bilder von externen Ressourcen laden. Mit den vom .NET Framework bereitgestellten Ressourcen ist der Prozess sehr einfach und unkompliziert.

Verwenden Sie die Klasse BitmapImage, um Bilder zur Laufzeit zu laden. Es stellt ein Source-Attribut bereit, das ein Uri- oder Stream-Objekt akzeptiert. Daher können Sie die Bildposition auf verschiedene Arten festlegen.

Uri verwenden

UriBilddateien können direkt referenziert werden, unabhängig von ihrem Speicherort. Im Folgenden sind einige gängige URI-Formate aufgeführt:

  • Lokale Dateien: Uri("file://path/to/image.png")
  • Internetressourcen: Uri("http://server/image.png")
  • Montageressourcen: Uri("pack://application:,,,/AssemblyName;component/path/to/image.png")

Beispiel für die Verwendung von Uri:

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

Stream verwenden

Wenn das Bild als Stream bereitgestellt wird, können Sie den folgenden Code verwenden:

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

Bildquelle festlegen

Nachdem Sie das BitmapImage-Objekt erstellt haben, müssen Sie es dem Image-Attribut des Source-Steuerelements in XAML zuweisen. Zum Beispiel:

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

Weitere Anweisungen:

  • Stellen Sie sicher, dass die Anwendung auf die Bilddatei zugreifen kann und über die richtigen Berechtigungen verfügt.
  • Wenn Sie das Bild von einer Assembly-Ressource laden, stellen Sie sicher, dass die Build-Aktion der Bilddatei in Visual Studio auf „Ressource“ eingestellt ist.
  • Sie können das Attribut Image.Stretch verwenden, um zu steuern, wie ein Bild in einem bestimmten Bereich angezeigt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Bilder dynamisch in WPF laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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