我正在编写一个C#WPF应用程序,用于创建活动窗口的视频捕获。我想要做的是在捕获过程中在活动窗口的角落覆盖透明的.png文件,以便我的应用程序创建的所有视频都带有水印。
如果我有正在捕获的窗口的IntPntr句柄和图像文件 - 最好的方法是什么?
由于
答案 0 :(得分:1)
构造一个新的HwndSource,传递父级的IntPtr句柄:
var hwndSource = new HwndSource(new HwndSourceParameters("OverlayWindow")
{
ParentWindow = parentHandleIntPtr,
UsesPerPixelOpacity = true,
Width = 100,
Height = 100,
})
{
RootVisual = new Image { Source = watermarkBitmapSource },
};
如果这不能立即生效,请在常规WPF窗口中测试“新图像...”代码,以确保其正常工作。如果您仍然没有看到任何内容,请尝试使用HwndSource呈现类似CheckBox或TextBlock的内容以确保其有效,然后将它们组合在一起。