gpt4 book ai didi

c# - 使用从后台线程生成的 RenderTargetBitmap 设置图像源

转载 作者:太空宇宙 更新时间:2023-11-03 10:35:06 26 4
gpt4 key购买 nike

我在后台线程中应用模糊以提高性能。此函数返回一个 RenderTargetBitmap。完成后,我将通过 Dispatcher 调用图像更新并将其作为内容添加到页面中。这是像下面这样完成的:

            System.Windows.Controls.Image image = new System.Windows.Controls.Image();
Thread screenshotThread = new Thread(new ThreadStart(delegate()
{
RenderTargetBitmap img = CaptureScreen(0, 0, actualWidth, actualHeight);
//System.Windows.Controls.Image image = imgBlur;
//image = new System.Windows.Controls.Image();
Application.Current.Dispatcher.Invoke(() =>
{
image.Source = img;
image.Width = actualWidth;
image.Height = actualHeight;
PageContainer.Children.Add(image);
});
}));
screenshotThread.SetApartmentState(ApartmentState.STA);
screenshotThread.Start();

我正在将图像添加到 PageContainer,这是一个网格。运行这段代码后,图像已添加到页面中。但是,图像源为空。当前没有图像可见。我怎样才能让这个图像出现?

最佳答案

您已经在不同线程上创建了 ImagecontrolRenderTargetBitmap。我很惊讶你没有得到异常(exception)。在将其设置为 Image.Source 之前尝试添加 img.Freeze();

关于c# - 使用从后台线程生成的 RenderTargetBitmap 设置图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092065/

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