我有一个托管 WinformsPanel 的 WPF 应用程序
<WindowsFormsHost>
<windowsForms:Panel
x:Name="PlayerHost">
</windowsForms:Panel>
<WindowsFormsHost>
然后我使用此面板显示视频。我正在使用Mpv.NET lib 来执行此操作。视频播放器已正确初始化:
//panel.Handle is the windowsForms:Panel named PlayerHost
player = new MpvPlayer(panel.Handle, Common.IO.FindLib.FindMpvLib(binaryPath));
player.Load(videoFilePath);
现在,如果我尝试绘制面板内容,生成的图像仍然是空白的。绘制图像的代码如下:
using (var bmp = new Bitmap(panel.ClientSize.Width, panel.ClientSize.Height))
{
panel.DrawToBitmap(bmp, panel.ClientRectangle);
bmp.Save(@"Some:\path.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
}
为了清楚起见:视频被显示。我可以看到视频内容。当媒体正确加载时,我开始绘制图像。我什至将绘图命令卸载到单击按钮。因此,当视频运行时,我尝试进行“帧捕获”,可以这么说。但是图像仍然是空白的。
如何捕获面板内容?它与提供给视频播放器的本机句柄有关吗?提前致谢。