关于捕获活动窗口或桌面包含活动窗口有很多问题,但我的问题不同:
我想在我的WPF窗口下准确捕获桌面。我基于以下代码创建了一个示例项目:
using (var screenBmp = new Bitmap((int)elementSize.Width,(int)elementSize.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
using (var bmpGraphics = Graphics.FromImage(screenBmp))
{
bmpGraphics.CopyFromScreen((int) TopLeftPoint.X, (int)TopLeftPoint.Y, 0, 0, screenBmp.Size);
return Imaging.CreateBitmapSourceFromHBitmap(
screenBmp.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
}
}
它可以通过CopyFromScreen
捕获我的元素所在的桌面,但结果是我的元素的图片 BUT 我想在我的元素下捕获桌面,不包括我的窗口中的元素
注意:我的元素(例如矩形)背景为半透明或非透明(具有图像或纯色)。
注意:树是我的桌面背景图片&图像中可以看到另一个应用程序的一部分。我的窗户在他们身上。
你可以看到它包含我的矩形(元素)和其他控件但是我想在我的元素下面捕获桌面,排除它自己以及它上面的其他元素的视觉效果。
现在我的问题是我如何在WPF窗口中以我的元素捕获桌面,在2模式下,结果如下图所示? :
您是否知道在上述级别捕获桌面的任何特殊库或API?
注意:我的工作平台是WPF + .Net 4.5