WriteableBitmap inside Windows 10 IBackgroundTask

WriteableBitmap inside Windows 10 IBackgroundTask

我正在尝试通过 Windows 10 应用程序 (UWP) IBackgroundTask 的 运行 方法裁剪图像。 为了实现我正在使用 WriteableBitmapEx 但在我尝试实例化一个新对象的那一刻,我得到了异常:

The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))

我尝试使用一些 Dispatcher,但出现了其他异常。 有什么想法吗?

WriteableBitmap 是一个 UI 对象,需要 UI 个线程,后台任务缺少。

根据您的需要,您可以使用不同的 API 来处理图像(选中 this topic for BitmapEncoder) or derive your background task from XamlRenderingBackgroundTask,这将在 UI 线程中调用其 OnRun 方法。尽管请记住, 由于内存限制,建议在 XamlRenderingBackgroundTask 中使用 C++。