gpt4 book ai didi

c# - 非 ui 线程上的过程图像

转载 作者:行者123 更新时间:2023-11-30 17:48:30 24 4
gpt4 key购买 nike

我目前有一个 WriteableBitmap,我想在一个非 UI 线程 上处理它。

我基本上想重用作为我的图像控件源的图像,并在 Task.Run 中处理它。

WriteableBitmap bitmap;

Task.Run(() =>
{
// Process the bitmap here
});

不幸的是,我收到以下异常,因为它在 UI 线程上被阻塞

The calling thread cannot access this object because a different thread owns it.

注意 - 我不想在 UI 线程上处理代码!

有人可以帮帮我吗?

最佳答案

像 WriteableBitmap 这样的对象必须在创建它们的线程上使用。所以你必须在另一个线程上分配它。

如果您想在工作线程上处理后在 UI 上使用处理后的图像,您应该执行以下操作之一:

  • 将结果复制回 UI(即通过 copyPixels)。
  • 卡住对象(您必须在工作线程上调用 Freeze() 方法)。然后您不能再更改该对象,但您可以在任何您想要的线程上以只读方式使用它。

关于c# - 非 ui 线程上的过程图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22996638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com