首页 > 解决方案 > 更快的图像绘制方法

问题描述

我的项目由一个视频播放器和一个图像查看器组成,它们都在一个面板中全屏显示,一次只能看到一个。当视频暂停时,我捕获帧,将其显示在图像查看器中并交换可见的控件。问题是,当显示图像查看器时,您会在绘制新图像之前看到前一个图像的短暂时间。

有人对我如何防止这种情况有任何建议吗?理想情况下,我希望在控件交换时它是无缝的。

我已经将图像查看器设置为双缓冲。

编辑:代码,在这里并没有真正显示太多。

private void ShowImageView()
{
    this.axWindowsMediaPlayer.Visible = false;
    this.imageViewer.Visible = true;
}

private void ShowVideoView()
{
    this.axWindowsMediaPlayer.Visible = true;
    this.imageViewer.Visible = false;
}

标签: c#winforms

解决方案


我已经设法解决它,图像查看器有一个我没有发现的 Image Changed 事件(我尝试使用 Image Loaded 事件)。订阅图像更改事件并仅显示控件,似乎给了我我正在寻找的过渡。


推荐阅读