FrmCamera.cs 2.8 KB
using HalconDotNet;
using URSoldering.DeviceLibrary; 
using System; 
using System.Windows.Forms;
using URSoldering.Common;

namespace URSoldering.Client
{
    public partial class FrmCamera : FrmBase
    {
        public FrmCamera()
        {
            InitializeComponent();
        }
        //private static string VideoCameraName = ConfigAppSettings.GetValue(Setting_Init.VideoCameraName);
     
        private void btnOpen_Click(object sender, EventArgs e)
        {
            string name = cmbCamera.Text;
            UsbCameraHDevelop.OpenCamera(name);
            //UsbCameraHDevelop.CloseAllCamera();
            //UsbCameraHDevelop.OpenCamera(VideoCameraName);
            //UsbCameraHDevelop.OpenCamera(CodeCameraName);
            FormStatus(true);
        }
        private void FormStatus(bool open)
        {
            btnOpen.Enabled = !open;
            cmbCamera.Enabled = !open;
            btnCloseCamera.Enabled = open; 
            timer1.Enabled = open;
        } 
        private void btnCloseCamera_Click(object sender, EventArgs e)
        { 
            UsbCameraHDevelop.CloseAllCamera();
            FormStatus(false);
        }

        private void FrmCamera_Load(object sender, EventArgs e)
        {
            //cmbCamera.Items.Add(VideoCameraName);
            //cmbCamera.Items.Add(CodeCameraName);
            cmbCamera.SelectedIndex = 0;
            FormStatus(false);
        }

        private void FrmCamera_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (btnCloseCamera.Enabled.Equals(true))
            {  
                UsbCameraHDevelop.CloseAllCamera();
                FormStatus(false);
            }
        }
        //private int preIndex = 0;
        int dWidth = 0; int dHeight = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            //string name = VideoCameraName;
            //if (preIndex.Equals(0))
            //{
            //    name = CodeCameraName;
            //    preIndex = 1;
            //}
            //else
            //{
            //    preIndex = 0;
            //}
            string name = cmbCamera.Text;
            HObject ho_Image = UsbCameraHDevelop.GrabImage(name);

            if (ho_Image != null)
            {
                if (dWidth <= 0)
                {
                    HTuple width, height;
                    //int dWidth = 0; int dHeight = 0;
                    HOperatorSet.GetImageSize(ho_Image, out width, out height);

                    dWidth = (int)width.D;
                    dHeight = (int)height.D;
                    hWindowControl1.HalconWindow.SetPart(0, 0, dHeight, dWidth);
                } 
                HOperatorSet.DispObj(ho_Image, hWindowControl1.HalconWindow); 
            }
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}