private void btnConnect_Click(object sender, EventArgs e) { if (currentCamera != null && currentCamera.IsRunning) { currentCamera.Stop(); } currentCamera = new VideoCaptureDevice(lstCamera[cbbListCamera.SelectedIndex].MonikerString); currentCamera.NewFrame += CurrentCamera_NewFrame; // Khởi động camera sử dụng design pattern Adapter cameraAdaptee = new CameraAdaptee(); camera = new CameraAdapter(cameraAdaptee); camera.Start(currentCamera); btnTakeAPhoto.Enabled = true; }
// Bộ chuyển đổi để interface của CameraAdaptee tương thích với ICamera public CameraAdapter(CameraAdaptee cameraAdaptee) { this._cameraAdaptee = cameraAdaptee; }