有没有一种方法可以在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/