从其他线程将BitmapSource保存到(jpg)文件

关于将BitmapSource获取到图像文件有很多问题,但是所有答案都假定代码是在创建BitmapSource的线程中执行的。就我而言,我收到了将其保存到其他线程中的文件的信号。我试图使用BitmapSource的Dispatcher,但是要么线程冻结了(调用Invoke时),要么什么都没有被调用(调用BeginInvoke时)。在不调用Dispatcher或不使用System.Windows.Application.Current.Dispatcher的情况下,它是InvalidOperationException。

不幸的是,该BitmapSource驻留在一个app脚的类中,该类在其正常上下文中“起作用”。重写它(可能是适当的)还意味着重写同样糟糕的应用程序的更多部分,...-付出大量的努力才能完成这么小的任务。

所以:我该怎么做?

评论