如何冻结CameraControl中显示的视频?

时间:2019-05-07 09:02:20

标签: c# winforms devexpress

在调用TakeSnapshot()以便显示获取的图像时,如何冻结CameraControl中显示的视频?

基本上,我想以自己的形式重建与devexpress TakePictureDialog类中相同的捕获行为,因为在TakePictureDialog中似乎无法存储用户选择的相机设备,我需要这样做在我的应用中

我遵循了这些文章中的说明和示例:

1 个答案:

答案 0 :(得分:0)

欢迎来到stackoverflow。

CameraControl本身不提供该功能。

无论哪种方式,您都可以使用Paint事件来渲染通过TakeSnapshot获取的图像。

类似这样的东西:

private void CameraControl1_Paint(object sender, PaintEventArgs e)
{
    CameraControl c = sender as CameraControl;
    if (isStopped && img != null)
         e.Graphics.DrawImage(img, new Rectangle(0,0, c.Width, c.Height));
}


bool isStopped = false;
Bitmap img;
private void button1_Click(object sender, EventArgs e)
{
    img = cameraControl1.TakeSnapshot();
    cameraControl1.Stop();
    isStopped = true;
}

devexpress.com的信用额