0

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

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

其中“通用”是 PCL 的与平台无关的图像表示。

现在我想基于这个 PCL 编写一个 UWP 应用程序,但是 BitmapSource.Create 那里似乎不存在。我的替代方案是什么?

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

4

1 回答 1

0

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

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

于 2015-09-12T13:41:59.660 回答