Exemplo n.º 1
0
        /// <summary>
        /// 设置相机取图方式
        /// </summary>
        /// <param name="IRead"></param>
        /// <param name="acquire_way"></param>
        /// <returns></returns>
        public bool Set_Acquire(IReadShuJu IRead, string acquire_way)
        {
            bool ok = false;

            switch (acquire_way)
            {
            case "Folder_Image":
                IRead.Acquire_Image = Acquire.Folder_Image;
                break;

            case "Registry_Image_One":
                IRead.Acquire_Image = Acquire.Registry_Image_One;
                break;

            case "Registry_Image_Two":
                IRead.Acquire_Image = Acquire.Registry_Image_Two;
                break;


            default:
                break;
            }
            ok = true;
            return(ok);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 把图片image写入ReadShuJu中
        /// </summary>
        /// <param name="IRead">ReadShuJu接口</param>
        /// <param name="Ho_Image">图片的数据</param>
        /// <returns></returns>
        public bool Set_Ho_Image(IReadShuJu IRead, ref HObject Ho_Image)
        {
            bool ok = false;

            IRead.Ho_image = Ho_Image;
            ok             = true;
            return(ok);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 设置图片的路径
        /// </summary>
        /// <param name="IRead">ReadShuJu接口</param>
        /// <param name="pu">图片路径</param>
        /// <returns></returns>
        public bool Set_Path_Picture(IReadShuJu IRead, ref List <string> pu)
        {
            bool ok = false;

            IRead.Path_Picture = pu;

            ok = true;
            return(ok);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 设置去取第几张图片
        /// </summary>
        /// <param name="IRead">ReadShuJu接口</param>
        /// <param name="Num">图片的引索</param>
        /// <returns></returns>
        public bool Set_Number(IReadShuJu IRead, ref int Num)
        {
            bool ok = false;

            IRead.Number = Num;

            ok = true;
            return(ok);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 设置注册表大小
        /// </summary>
        /// <param name="width_"></param>
        /// <param name="height_"></param>
        /// <returns></returns>
        public bool Set_Registry(IReadShuJu IRead, string width_, string height_)
        {
            bool ok = false;

            switch (IRead.Acquire_Image)
            {
                #region  文件夹
            case Acquire.Folder_Image:
                MessageBox.Show("当前为文件夹取图,设置注册表大小失败");
                ok = false;
                break;
                #endregion

                #region   注册表一
            case Acquire.Registry_Image_One:
                IRead._Width  = Convert.ToUInt32(width_);
                IRead._Height = Convert.ToUInt32(height_);

                IntPtrRegistry.STRIDE_ONE  = Convert.ToUInt32(width_);
                IntPtrRegistry.NUMROWS_ONE = Convert.ToUInt32(height_);
                ok = true;
                break;
                #endregion

                #region  注册表二
            case Acquire.Registry_Image_Two:
                IRead._Width  = Convert.ToUInt32(width_);
                IRead._Height = Convert.ToUInt32(height_);

                IntPtrRegistry.STRIDE_TWO  = Convert.ToUInt32(width_);
                IntPtrRegistry.NUMROWS_TWO = Convert.ToUInt32(height_);
                ok = true;
                break;
                #endregion

                #region  默认处理
            default:
                ok = false;
                break;
                #endregion
            }
            return(ok);
        }
Exemplo n.º 6
0
        private void ParentFrm_Load(object sender, EventArgs e)
        {
            try
            {
                halconWinControl_11.init();
                _read += read_one_image;

                #region  无用代码
                #region  逻辑控制
                //_read_event = new AutoResetEvent(false);

                //_run_event = new AutoResetEvent(false);

                #endregion

                #region   初始化线程

                //_read_th = new Thread(new ThreadStart(read_one_image));
                //_read_th.Name = "取图线程";
                //_run_th = new Thread(new ThreadStart(run));
                //_run_th.Name = "检测线程";
                //_read_th.Start();
                //_run_th.Start();

                #endregion
                #endregion

                #region 初始化数据
                if (TreeStatic.Mult_Tree_Node_Picture != null)
                {
                    if (TreeStatic.Mult_Tree_Node_Picture.SelfId.Contains("acquire"))
                    {
                        _re = (ReadShuJu)TreeStatic.Mult_Tree_Node_Picture.Obj;

                        #region  把图片写入
                        foreach (string file_name in _re.Path_Picture)
                        {
                            listBox_acquire_picture.Items.Add(file_name); //加载所有文件
                        }
                        #endregion
                    }
                    else
                    {
                        _re = new ReadShuJu();
                    }
                }
                else
                {
                    _re = new ReadShuJu();
                }
                #endregion

                #region  设置相机参数工具
                _Set_DaHua = new Camer.Set_DaHua_Date();
                #endregion

#if DEBUG == true
                //_IDaHua = MachineVision.MainStatic.MainStatic.DaHua_Date_One1;
                //MachineVision.MainStatic.MainStatic.DaHua_Date_One1.Dev.StreamGrabber.ImageGrabbed += OnImageGrabbed;
                #region 无用代码

                //if (TreeStatic.Mult_Tree_Node.Obj == null)
                //{
                //    /*BarCodeHalcon.BarCodeShuJu.IBarCodeShuJu su = new BarCodeHalcon.BarCodeShuJu.BarCodeShuJu();*/
                //    _IDaHua = new Camer.DaHua.DaHua_Date();
                //}
                //else
                //{
                //    _IDaHua = (Camer.DaHua.DaHua_Date)TreeStatic.Mult_Tree_Node.Obj; ;
                //}
                #endregion
#else
                string str = "";
                // BarCodeHalcon.BarCodeShuJu.IBarCodeShuJu su = new BarCodeHalcon.BarCodeShuJu.BarCodeShuJu();
                // _IDaHua = new Camer.DaHua_Date();
                _Set_DaHua.open_camer(_IDaHua, _IDaHua.CamerIndx1, OnCameraOpen, null, OnConnectLoss, ref str);

                if (str == "")
                {
                    MessageBox.Show("相机打开成功");
                }
#endif
                _Set_DaHua.show_DaHua_ShuJu(_IDaHua, Controls);
                _IDaHua.Dev.StreamGrabber.ImageGrabbed += OnImageGrabbed;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "初始化报错");
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 显示参数
        /// </summary>
        /// <param name="IRead"></param>
        /// <param name="control"></param>
        /// <returns></returns>
        public bool Set_ReadShuJu_Parameter(IReadShuJu IRead, Control.ControlCollection control)
        {
            bool ok = false;

            foreach (Control con in control)
            {
                string name = con.Name;

                if ((con is ComboBox) || (con is TextBox))
                {
                    switch (name)
                    {
                        #region  取图方式
                    case "Acquire":
                        con.Text = IRead.Acquire_Image.ToString();
                        break;
                        #endregion

                        #region  注册表宽
                    case "Registry_width":

                        switch (IRead.Acquire_Image)
                        {
                            #region  初始化注册表一
                        case Acquire.Registry_Image_One:
                            con.Text = Convert.ToString(IntPtrRegistry.STRIDE_ONE);
                            break;
                            #endregion

                            #region  初始化注册表二
                        case Acquire.Registry_Image_Two:
                            con.Text = Convert.ToString(IntPtrRegistry.STRIDE_TWO);
                            break;
                            #endregion

                            #region   默认处理
                        default:
                            break;
                            #endregion
                        }
                        break;
                        #endregion

                        #region  注册表高
                    case "Registry_height":
                        switch (IRead.Acquire_Image)
                        {
                            #region 注册表一
                        case Acquire.Registry_Image_One:
                            con.Text = Convert.ToString(IntPtrRegistry.NUMROWS_ONE);
                            break;
                            #endregion

                            #region 注册表二
                        case Acquire.Registry_Image_Two:
                            con.Text = Convert.ToString(IntPtrRegistry.NUMROWS_TWO);
                            break;
                            #endregion

                            #region  默认处理
                        default:
                            break;
                            #endregion
                        }

                        break;
                        #endregion

                        #region  默认处理
                    default:
                        break;
                        #endregion
                    }
                }
                if (con.Controls.Count > 0)
                {
                    Set_ReadShuJu_Parameter(IRead, con.Controls);
                }
            }
            ok = true;
            return(ok);
        }