weixin_41341128 2021-05-26 01:18 采纳率: 80%
浏览 169
已采纳

C#使用AForge 调用摄像头同时在2个Form上显示画面

我有Form1和Form2  

通过 AForge调用摄像头显示画面,怎么通过btnConnect_Click方法让Form1上的vispShoot1和Form2上的vispShoot2和同时显示摄像头画面?

下面是我在Form1上的vispShoot1显示的摄像头画面的方法。

        public FilterInfoCollection videoDevices;
        public VideoCaptureDevice videoDevice;
        public VideoCapabilities[] videoCapabilities;
        private void btnConnect_Click(object sender, EventArgs e)
        {
            videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString);
            videoCapabilities = videoDevice.VideoCapabilities;

            videoDevice.VideoResolution = videoCapabilities[0];
            vispShoot1.VideoSource = videoDevice;
            vispShoot1.Start();
        }

 

  • 写回答

2条回答 默认 最新

  • qq_34835885 2021-05-28 10:55
    关注

    如果是两个界面的话,只需要在你给vispShoot1绑定赋值的后面,加上vispShoo2的绑定赋值就行,拿你的代码来说:

    public FilterInfoCollection videoDevices;

    public VideoCaptureDevice videoDevice;

    public VideoCapabilities[] videoCapabilities;

    private void btnConnect_Click(object sender, EventArgs e)

    {

    videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

    videoDevice = new VideoCaptureDevice(videoDevices[0].MonikerString);

    videoCapabilities = videoDevice.VideoCapabilities;

     

    videoDevice.VideoResolution = videoCapabilities[0];

    vispShoot1.VideoSource = videoDevice;

    vispShoot1.Start();

     

    //在这里加上vispShoot2的赋值即可。  注意在Form2里定义的vispShoot2要设置为public

    form2.vispShoot2.VideoSource = videoDevice;

    form2.vispShoot2.Start();

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联
  • ¥15 VB.NET操作免驱摄像头
  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳