使用图像宽高在WPF中初始化BitmapImage
时间: 2024-10-21 14:14:59 浏览: 36
在 WPF 中,`BitmapImage` 类是用来加载位图资源的,但是它本身并不支持设置图像的具体宽度和高度。一旦你创建了一个 `BitmapImage` 并设置了它的源(比如路径或者网络 URL),`BitmapImage` 会自动从其源获取图像的实际大小。如果你想控制显示的图像大小,通常是在绑定到 `Image` 控件时设置 `Width` 和 `Height` 属性。
例如,假设你想在加载位图后保持原始宽高比例缩放,可以这样做:
```csharp
// 初始化 BitmapImage
string imagePath = "path_to_your_image.jpg";
BitmapImage bitmapImage = new BitmapImage(new Uri(imagePath));
// 将 BitmapImage 显示在 Image 控件中,使用 Stretch.Fill 可以按原比例缩放
Image image = new Image
{
Source = bitmapImage,
Width = bitmapImage.PixelWidth, // 使用实际宽度
Height = bitmapImage.PixelHeight, // 使用实际高度
Stretch = Stretch.Fill
};
```
这里,`Stretch.Fill` 表示如果容器的大小变化,图像会被填充整个容器并按比例缩放。
如果你需要明确指定显示的宽度和高度,而不考虑原始比例,可以直接设置 `Width` 和 `Height`,但这可能会导致图像失真,除非你同时调整 `Stretch` 属性为 `Uniform` 等特定模式。
阅读全文