Halcon与C#混合窗体控件源代码


如果采用C#和Halcon混合编程做图像视觉,这是一个不可多得的可供直接拿来使用的源代码,写的非常好。如果你是刚入门的,那么就耐心的去读每一行代码,直到把它搞清楚,相信你最终一定得益匪浅。
资源截图
代码片段和文件信息
// 版权所有(C) ChoiceTech Corporation。保留所有权利。
// 此代码的发布遵从
// ChoiceTech 公共许可(HY-PL,http://choicetech.cn/hy-pl.html)的条款。
//
//版权所有(C) ChoiceTech Corporation。保留所有权利。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using HalconDotNet;


namespace ChoiceTech.Halcon.Control
{
    /// 
    /// halcon鼠标缩放控件
    /// 
    /// 描述:
    ///      1 必须首先通过this.HobjectToHimage(Hobject hobject)传入图片此图片称为“背景图“
    ///      2 有了背景图就可以通过本控件自定义的 this.DispObj(Hobject hObj)显示Hobject类似原方法
    ///      3默认显示红色DispObj(Hobject hObjstring color)可显示其他颜色
    /// 

    public partial class HWindow_Final : UserControl
    {
        #region 私有变量定义.

        private HWindow /**/                 hv_window;                                       //halcon窗体控件的句柄 this.mCtrl_HWindow.HalconWindow;
        private ContextMenuStrip /**/        hv_MenuStrip;                                    //右键菜单控件
        // 窗体控件右键菜单内容
        ToolStripMenuItem fit_strip;
        ToolStripMenuItem saveImg_strip;
        ToolStripMenuItem saveWindow_strip;
        ToolStripMenuItem barVisible_strip;
        ToolStripMenuItem histogram_strip;

        private HImage  /**/                 hv_image;                                        //缩放时操作的图片  此处千万不要使用hv_image = new HImage()不然在生成控件dll的时候会导致无法序列化去***隔壁还好老子有版本控制不然都找不到这种恶心问题
        private int /**/                     hv_imageWidth hv_imageHeight;                   //图片宽高
        private string /**/                  str_imgSize;                                     //图片尺寸大小 5120X3840
        private bool    /**/                 drawModel = false;                                //绘制模式下不允许缩放和鼠标右键菜单

        public ViewWindow.ViewWindow viewWindow;    /**/                                      //ViewWindow
        public HWindowControl hWindowControl;   /**/                                           // 当前halcon窗口

        #endregion


        /// 
        /// 初始化控件
        /// 

        public HWindow_Final()
        {
            InitializeComponent();
            //
            viewWindow = new ViewWindow.ViewWindow(mCtrl_HWindow);
            hWindowControl = this.mCtrl_HWindow;
            hv_window = this.mCtrl_HWindow.HalconWindow;

            //              设定鼠标按下时图标的形状
            //              ‘arrow‘  ‘default‘ ‘crosshair‘ ‘text I-beam‘ ‘Slashed circle‘ ‘Size All‘
            //              ‘Size NESW‘ ‘Size S‘ ‘Size NWSE‘ ‘Size WE‘ ‘Vertical Arrow‘ ‘Hourglass‘
            //
            // hv_window.SetMshape(“Hourglass“);

            fit_strip = new ToolStripMenuItem(“适应窗口“);
            fit_strip.Click += new EventHandler((s e) => DispImageFit(mCtrl_HWindow));

            barVisible_strip = new ToolStripMenuItem(“显示StatusBar“);
            barVisible_strip.Checkonclick = true;
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-27 17:49  Halcon与C#混合开源窗体控件
     目录           0  2018-09-04 15:46  Halcon与C#混合开源窗体控件halcon控件
     目录           0  2018-09-04 09:48  Halcon与C#混合开源窗体控件halcon控件Config
     文件        1320  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ConfigCircle.cs
     文件         736  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ConfigHobjectWithColor.cs
     文件        1685  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ConfigLine.cs
     文件        1611  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ConfigRectangle1.cs
     文件        1846  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ConfigRectangle2.cs
     文件        9484  2017-06-18 14:07  Halcon与C#混合开源窗体控件halcon控件ConfigSerializeHelper.cs
     文件       15707  2018-09-04 15:46  Halcon与C#混合开源窗体控件halcon控件HWindow_Final.cs
     文件        5154  2018-09-04 11:32  Halcon与C#混合开源窗体控件halcon控件HWindow_Final.designer.cs
     文件        9863  2018-09-04 11:32  Halcon与C#混合开源窗体控件halcon控件HWindow_Final.resx
     文件        6106  2018-09-04 08:56  Halcon与C#混合开源窗体控件halcon控件HWindow_Tool.csproj
     文件         227  2017-03-21 10:02  Halcon与C#混合开源窗体控件halcon控件HWindow_Tool.csproj.user
     文件       49152  2017-06-18 13:22  Halcon与C#混合开源窗体控件halcon控件HWindow_Tool.v11.suo
     目录           0  2018-08-27 17:49  Halcon与C#混合开源窗体控件halcon控件Model
     文件       11522  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelGraphicsContext.cs
     文件        1351  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelHobjectEntry.cs
     文件       30759  2017-05-24 22:17  Halcon与C#混合开源窗体控件halcon控件ModelHWndCtrl.cs
     文件        1203  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelIViewWindow.cs
     文件        5795  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelROI.cs
     文件        4829  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelROICircle.cs
     文件       23277  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelROIController.cs
     文件        6752  2017-04-15 21:52  Halcon与C#混合开源窗体控件halcon控件ModelROILine.cs
     文件        7128  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelROIRectangle1.cs
     文件        8775  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelROIRectangle2.cs
     文件        4312  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件ModelRoiData.cs
     文件         492  2017-06-18 13:57  Halcon与C#混合开源窗体控件halcon控件Program.cs
     目录           0  2018-08-27 17:49  Halcon与C#混合开源窗体控件halcon控件Properties
     文件        1358  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件PropertiesAssemblyInfo.cs
     文件        2854  2017-03-10 16:12  Halcon与C#混合开源窗体控件halcon控件PropertiesResources.Designer.cs
............此处省略100个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)