在图像控件上显示SoftwareBitmap而不保存到UWP C#中的文件

时间:2018-01-08 19:09:03

标签: c# image bitmap uwp uwp-xaml

有没有办法在Xaml Image控件上显示SoftwareBitmap而不将SoftwareBitmap保存到文件?我想在编辑后快速显示SoftwareBitmap。

1 个答案:

答案 0 :(得分:3)

  

我想在编辑后快速显示SoftwareBitmap。

目前,Image控件仅支持使用BGRA8编码和预乘或不使用alpha通道的图像。在尝试显示图像之前,请进行测试以确保其格式正确,如果没有,请使用SoftwareBitmap静态Convert方法将图像转换为支持的格式。

if (softwareBitmap.BitmapPixelFormat != BitmapPixelFormat.Bgra8 ||
    softwareBitmap.BitmapAlphaMode == BitmapAlphaMode.Straight)
{
    softwareBitmap = SoftwareBitmap.Convert(softwareBitmap, BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied);
}

var source = new SoftwareBitmapSource();
await source.SetBitmapAsync(softwareBitmap);

// Set the source of the Image control
imageControl.Source = source;

您可以使用SoftwareBitmapSource将SoftwareBitmap设置为ImageBrush的ImageSource。有关更多信息,请参阅Create, edit, and save bitmap images