在 Windows 商店应用程序 (UWP) 中替代 BitmapSource.Create

Alternative to BitmapSource.Create in Windows Store application (UWP)

我有一个主要用 PCL 编写的应用程序。在 WPF 应用程序中使用它时,我有一个平台特定的代码块,如下所示:

BitmapSource bitmapSource = BitmapSource.Create(generic.Width, generic.Height, 300, 300, PixelFormats.Bgra32, null, generic.ByteArray, generic.Stride);
        bitmapSource.Freeze();
        return bitmapSource;

其中 'generic' 是 PCL 与平台无关的图像表示。

现在我想基于此 PCL 编写一个 UWP 应用程序,但那里似乎不存在 BitmapSource.Create。我有什么选择?

更新: 我应该告知 PCL 在我的控制之下,换句话说,如果我的方法是错误的,我可以改变行为。 我需要的是某种方式来显示图像,该图像是在 PCL 中逐个像素地在 WPF 和 UWP 中生成的。

WPF 和通用 Windows 应用程序在不同的命名空间(System.Windows 与 Windows.UI.Xaml)中使用不同的 Xaml 库,因此无法直接共享控件。

要在通用应用程序中创建以编程方式生成的位图,请使用 WriteableBitmap class 而不是直接创建 BitmapSource。 WritableBitmap 是一个 BitmapSource,它为应用程序提供对其 PixelBuffer 的访问以操纵位图的像素。