在WPF中动态加载图片
WPF应用程序经常需要在运行时从外部资源加载图片。借助.NET框架提供的资源,这个过程非常简单直接。
使用BitmapImage
类可在运行时加载图片。它提供了一个Source
属性,该属性接受Uri
或Stream
对象。因此,您可以通过多种方式指定图片位置。
使用Uri
Uri
可以直接引用图片文件,无论其位置如何。以下是几种常见的Uri格式:
Uri("file://path/to/image.png")
Uri("http://server/image.png")
Uri("pack://application:,,,/AssemblyName;component/path/to/image.png")
使用Uri的示例:
<code class="language-csharp">var uri = new Uri("pack://application:,,,/Bilder/sas.png"); var bitmap = new BitmapImage(uri); image1.Source = bitmap;</code>
使用Stream
如果图片以Stream
的形式提供,可以使用以下代码:
<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>
设置图片源
创建BitmapImage
对象后,需要将其赋值给XAML中Image
控件的Source
属性。例如:
<code class="language-xml"><Image x:Name="image1" /></code>
<code class="language-csharp">image1.Source = bitmap;</code>
其他说明:
Image.Stretch
属性来控制图片在给定空间内的显示方式。以上是WPF中如何动态加载图片?的详细内容。更多信息请关注PHP中文网其他相关文章!