有没有一种方法可以在Xaml图像控件上显示SoftwareBitmap而不将SoftwareBitmap保存到文件?我希望有一种快速的方法来在编辑后显示SoftwareBitmap。

最佳答案

我希望有一种快速的方法来在编辑后显示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

关于c# - 在图像控件上显示软件位图,而不保存到UWP C#中的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48156631/

10-10 22:55