我在后台线程中应用模糊以提高性能。此函数返回一个 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,这是一个网格。运行这段代码后,图像已添加到页面中。但是,图像源为空。当前没有图像可见。我怎样才能让这个图像出现?
您已经在不同线程上创建了 Imagecontrol
和 RenderTargetBitmap
。我很惊讶你没有得到异常(exception)。在将其设置为 Image.Source
之前尝试添加 img.Freeze();
。
我是一名优秀的程序员,十分优秀!