我正在使用 MVVM 在 Windows 10 上实现通用 Windows 应用程序。我有一个文件选择器允许我选择图像。此图像显示在图像控件中。Image Control 的源绑定到我的视图模型中的一个属性。该属性是一个字节数组。我需要一个转换器来将 BitmapImage 转换为字节数组。我已经阅读了很多东西,但找不到有用的东西。我在https://writeablebitmapex.codeplex.com/上找到了有趣的东西, 但如果我想使用这个包,我需要一个 WriteableBitmap 而不是 BitmapImage。预先感谢您的帮助。
问问题
3230 次
1 回答
5
您可以直接从文件将图像加载到 WriteableBitmap 对象。
var filePicker = new FileOpenPicker();
filePicker.FileTypeFilter.Add(".jpg");
var result = await filePicker.PickSingleFileAsync();
if (result != null)
{
using (IRandomAccessStream stream = await result.OpenAsync(FileAccessMode.Read))
{
BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);
WriteableBitmap bmp = new WriteableBitmap((int)decoder.PixelWidth, (int)decoder.PixelHeight);
bmp.SetSource(stream);
// show the image in the UI if you want.
MyImage.Source = bmp;
}
}
这样你就有了 WriteableBitmap 并且你可以使用 WriteableBitmapEx 库。
于 2015-11-13T14:04:05.633 回答