c# - 更快的图像绘制方法
问题描述
我的项目由一个视频播放器和一个图像查看器组成,它们都在一个面板中全屏显示,一次只能看到一个。当视频暂停时,我捕获帧,将其显示在图像查看器中并交换可见的控件。问题是,当显示图像查看器时,您会在绘制新图像之前看到前一个图像的短暂时间。
有人对我如何防止这种情况有任何建议吗?理想情况下,我希望在控件交换时它是无缝的。
我已经将图像查看器设置为双缓冲。
编辑:代码,在这里并没有真正显示太多。
private void ShowImageView()
{
this.axWindowsMediaPlayer.Visible = false;
this.imageViewer.Visible = true;
}
private void ShowVideoView()
{
this.axWindowsMediaPlayer.Visible = true;
this.imageViewer.Visible = false;
}
解决方案
我已经设法解决它,图像查看器有一个我没有发现的 Image Changed 事件(我尝试使用 Image Loaded 事件)。订阅图像更改事件并仅显示控件,似乎给了我我正在寻找的过渡。
推荐阅读
- batch-file - 如何忽略已经压缩的文件并删除原始原始文件
- javascript - 具有多个提交按钮的 HTML 表单仅返回第一个按钮的输入文本参数
- javascript - HandleClick 使用 React JS 不使用绑定
- reactjs - 不变违规:在“连接(应用)”的上下文或道具中找不到“商店”
- r - 根据R中的混淆矩阵识别具有错误类别的对象
- encoding - 在 bat 文件中编码迭代
- amazon-web-services - 无法在打包程序中使用部署资源
- ldap - LDAP 查询以返回包含特定属性的用户列表
- javascript - UI Fabric-js Pivot 控件 - 没有链接项溢出功能
- mysql - 合并列中的所有值