private void 无动作ToolStripMenuItem_Click(object sender, EventArgs e) { ViewController.setViewState(HWndCtrl.MODE_VIEW_NONE); 无动作ToolStripMenuItem.Checked = !无动作ToolStripMenuItem.Checked; 缩放ToolStripMenuItem.Checked = false; 移动ToolStripMenuItem.Checked = false; }
public event RefreshInformationForm_Chart_Event_Delegate RefreshInformationForm_Chart_Event; //保存参数 委托事件 #endregion /// <summary> /// 主函数 /// </summary> public InformationForm() { InitializeComponent(); //画面缩放实例化 HWndCtrl1 = new HWndCtrl(H_WControl1); HWndCtrl1.setViewState(HWndCtrl.MODE_VIEW_ZOOM); HWndCtrl1.setViewState(HWndCtrl.MODE_VIEW_MOVE); }
private void TBMove_Click(object sender, EventArgs e) { if (hWndCtrl.GetViewState() == HWndCtrl.MODE_VIEW_MOVE) { hWndCtrl.setViewState(HWndCtrl.MODE_VIEW_NONE); } else { hWndCtrl.setViewState(HWndCtrl.MODE_VIEW_MOVE); } }
public EditHalconFormBase(bool showResult) { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; hWindow = new HWindowControl(); hWindow.Dock = DockStyle.Fill; this.tabCurrent.Controls.Clear(); this.tabCurrent.Controls.Add(hWindow); mView = new HWndCtrl(this.hWindow); mView.changeGraphicSettings(GraphicsContext.GC_LINESTYLE, new HTuple()); createModelWindowMode = Color.RoyalBlue; trainModelWindowMode = Color.Chartreuse; roiController = new ROIController(); roiController.ROISelected += RoiController_ROISelected; roiController.setROISign(ROIController.MODE_ROI_POS); mView.NotifyIconObserver = new IconicDelegate(UpdateViewData); roiController.NotifyRCObserver = new IconicDelegate(UpdateViewData); mView.useROIController(roiController); mView.setViewState(HWndCtrl.MODE_VIEW_ZOOM_MOVE); halconEditable = this as IHalconEditable; this.nudSettlingTime.Maximum = 1000; this.btnStop.Visible = showResult; this.btnIgnore.Visible = showResult; this.chxFixedROI.Checked = showResult; }
/// <summary> /// Defines the initial settings for the window /// control. In the very beginning, the window control needs /// to know the view mode of the application form to perform /// the right behavior for incoming mouse events on the /// HALCON window. /// </summary> private void InteractiveForm_Load(object sender, System.EventArgs e) { String fileName = "patras"; HImage image; viewController = new HWndCtrl(viewPort); roiController = new ROIController(); viewController.useROIController(roiController); viewController.setViewState(HWndCtrl.MODE_VIEW_NONE); try { image = new HImage(fileName); } catch (HOperatorException) { MessageBox.Show("Problem occured while reading file!", "InteractROIForm", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } viewController.addIconicVar(image); viewController.repaint(); }
public Form1() { InitializeComponent(); roiController = new ROIController(); viewController = new HWndCtrl(this.hWindowControl1); viewController.useROIController(roiController); viewController.setViewState(HWndCtrl.MODE_VIEW_MOVE); }
/// <summary> /// Performs the initialization of the HDisplayControl /// during loading to the memory. /// </summary> private void HDisplayControl_Load(object sender, EventArgs e) { hWndControl = new HWndCtrl(viewPort); // Initialization graphic window size windowExtents = new Rectangle(0, 0, this.viewPort.WindowSize.Width, this.viewPort.WindowSize.Height); imageWidth = imageHeight = 0; displayZoomValue = 100; zoomCenter = new Point(windowExtents.Width / 2, windowExtents.Height / 2); if (MoveOnPressedMouseButton) { hWndControl.setViewState(HWndCtrl.MODE_VIEW_MOVE); } else { hWndControl.setViewState(HWndCtrl.MODE_VIEW_NONE); } // add event handler after zooming the image hWndControl.OnImageZoomed += new OnIconicObjectZoomedHandler( this.hWndControl_IconicObjectZoomed); hWndControl.OnImageMoved += new OnIconicObjectMovedHandler( this.hWndControl_IconicObjectMoved); // setup ROIController roiController = new ROIController(); hWndControl.useROIController(roiController); // handle the changes of regions roiController.NotifyRCObserver = null; roiController.NotifyRCObserver = new IconicDelegate(UpdateViewData); hWndControl.clearList(); //--------- // set the sign of the draw region to the value "Add Region" roiController.setROISign(ROIController.MODE_ROI_POS); this.ShowROI = true; }
///<summary> ///程序初始化 ///</summary> public void Initialization() { //实例化:检测画面子菜单 LineDetect = new LineDetect(); LineDetect.TopLevel = false; LineDetect.Dock = DockStyle.Fill; LineDetect.FormBorderStyle = FormBorderStyle.None; LineDetect.Size = TLPCheckParam.Size; ROIRectangle2 = new ROIRectangle2(); ho_Image = null; hv_ImageWindow = HWControl1.HalconID; InspectionStandard = new InspectionStandard(); InspectionStandard.TopLevel = false; InspectionStandard.Dock = DockStyle.Fill; InspectionStandard.FormBorderStyle = FormBorderStyle.None; InspectionStandard.Size = TLPCheckParam.Size; SendMessage(this.TLPanel_Bottom.Handle, WM_SETREDRAW, 0, IntPtr.Zero);//禁止重绘 TLPCheckParam.Controls.Clear(); TLPCheckParam.Controls.Add(InspectionStandard); InspectionStandard.Show(); SendMessage(TLPanel_Bottom.Handle, WM_SETREDRAW, 1, IntPtr.Zero); //取消禁止 TLPanel_Bottom.Refresh(); //刷新控件 // //画面缩放 roiController = new ROIController(); HWndCtrl = new HWndCtrl(HWControl1); HWndCtrl.useROIController(roiController); HWndCtrl.setViewState(HWndCtrl.MODE_VIEW_ZOOM); HWndCtrl.setViewState(HWndCtrl.MODE_VIEW_MOVE); HWndCtrl.ReDrawEvent += new HWndCtrl.ReDrawDelegate(ReDraw); //更改测量矩形,重绘直线 LineDetect.ReviewLineEvent += new LineDetect.ReviewLineDelegate(ReviewLine); //参数更改,重绘直线 HWndCtrl.ImageProcessingEvent += HWndCtrl_ImageProcessingEvent; if (ho_Image != null) { HWndCtrl.addIconicVar(ho_Image); HWndCtrl.repaint(); } // }
public HalconWindow() { InitializeComponent(); ViewController = new HWndCtrl(hWindowControl1); ViewController.setViewState(HWndCtrl.MODE_VIEW_ZOOM_Wheel); 无动作ToolStripMenuItem.Checked = !无动作ToolStripMenuItem.Checked; if (!IsDesignMode()) { hWindowControl1.HMouseMove += GetImgMessage; } }
CameraOperate Camera = new CameraOperate(); //相机操作 #endregion #region 构造函数 public MainWindow() { InitializeComponent(); PLCButton.AddHandler(System.Windows.Controls.Button.MouseDownEvent, new RoutedEventHandler(Button_MouseDown), true); PLCButton.AddHandler(System.Windows.Controls.Button.MouseUpEvent, new RoutedEventHandler(Button_MouseUp), true); viewController1 = new HWndCtrl(ImageWindow1);//HWindowControlWPF窗口给到窗口控制器 roiController1 = new ROIController(); viewController1.useROIController(roiController1); viewController1.setViewState(HWndCtrl.MODE_VIEW_MOVE); }
public HcImageView() { InitializeComponent(); roiController = new ROIController(); viewController = new HWndCtrl(this.Viewer); viewController.useROIController(roiController); viewController.setViewState(HWndCtrl.MODE_VIEW_MOVE); roiController.ActiveChanged += roiController_ActiveChanged; roiController.ROIChanged += roiController_ROIChanged; }
/// <summary> /// 設定 ViewController 操作模式 /// </summary> /// <param name="button"></param> /// <param name="mode"></param> private void setViewControlMode(object button, int mode) { var btn = button as ToolStripButton; if (btn != null) { setSingleToolStripButtonOn(btn, new ToolStripButton[] { }); var newMode = (btn.Checked) ? mode : HWndCtrl.MODE_VIEW_NONE; if (mView != null) { mView.setViewState(newMode); } } }
public HalconInterface(String name, Panel parentPnl, HalconVision halVis, HWindowControl myHalconWin) { InitializeComponent(); ModuleNameLbl.Text = name; this.Parent = parentPnl; myHalcon = halVis; m_lockShowpicture = new object(); HalconWin = myHalconWin; hWndCtrl = new HWndCtrl(HalconWin); hWndCtrl.setViewState(HWndCtrl.MODE_VIEW_NONE); hWndCtrl.repaint(); myHalcon.OnImageReadyFunction += OnImgReady; CaliXLbl.Text = myHalcon.CaliValue.X.ToString("F3"); CaliYLbl.Text = myHalcon.CaliValue.Y.ToString("F3"); }
private void InitializeMyComponent() { // hWindowControl _hWindowControl.Width = Width; _hWindowControl.Height = Height; // hWndCtrl _hWndCtrl = new HWndCtrl(_hWindowControl); ROIController roiController = new ROIController(); _hWndCtrl.useROIController(roiController); _hWndCtrl.setViewState(HWndCtrl.MODE_VIEW_MOVE); // hWindow _hWindow = _hWindowControl.HalconWindow; }
public ImageViewer() { InitializeComponent(); //hv_window = this.WPF_HWindow.HalconWindow; viewController = new HWndCtrl(this.WPF_HWindow); roiController = new ROIController(); viewController.useROIController(roiController); viewController.setViewState(HWndCtrl.MODE_VIEW_MOVE); HObjectList = viewController.HObjList; viewController.HObjListChanged += ViewController_HObjListChanged; ROIList = roiController.ROIList; roiController.ActiveChanged += RoiController_ActiveChanged; roiController.ROIChanged += RoiController_ROIChanged; }
private void btnLoadImage_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.RestoreDirectory = true; dialog.Multiselect = false; dialog.Filter = "图片|*.*"; dialog.Title = "选择一张图片"; DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { hImage = new HImage(dialog.FileName); _viewCtrl.addIconicVar(hImage); //_viewCtrl.resetWindow(); //_viewCtrl.repaint(); _viewCtrl.setViewState(HWndCtrl.MODE_VIEW_ZOOM_Wheel); } }
public void IntialView(HWindowControl hlView, HTuple imageWidth, HTuple imageHeight) { lock (globalLock) { try { if (viewController != null) { viewController.clearList(); } viewController = new HWndCtrl(hlView); viewController.useROIController(roiController); viewController.setViewState(HWndCtrl.MODE_VIEW_MOVE); roiController.setROISign(ROIController.MODE_ROI_NONE); this.imageWidth = imageWidth; this.imageHeight = imageHeight; Hwnd = hlView; SetDraw("red", "margin"); HOperatorSet.GenEmptyObj(out AimShow); AddViewCross(imageHeight / 2, imageWidth / 2, imageWidth / 10, 0, true); //AddViewRec2(imageHeight / 2, imageWidth / 2, imageWidth / 30, imageWidth / 30, 0, true); AddViewLine(imageHeight / 15, imageWidth / 15, imageHeight / 15 + imageHeight / 5, imageWidth / 15, true); AddViewLine(imageHeight / 15, imageWidth / 15, imageHeight / 15, imageWidth / 15 + imageWidth / 5, true); AddViewLine(imageHeight - imageHeight / 15 - imageHeight / 5, imageWidth / 15, imageHeight - imageHeight / 15, imageWidth / 15, true); AddViewLine(imageHeight - imageHeight / 15, imageWidth / 15, imageHeight - imageHeight / 15, imageWidth / 15 + imageWidth / 5, true); AddViewLine(imageHeight - imageHeight / 15 - imageHeight / 5, imageWidth - imageWidth / 15, imageHeight - imageHeight / 15, imageWidth - imageWidth / 15, true); AddViewLine(imageHeight - imageHeight / 15, imageWidth - imageWidth / 15 - imageWidth / 5, imageHeight - imageHeight / 15, imageWidth - imageWidth / 15, true); AddViewLine(imageHeight / 15, imageWidth - imageWidth / 15, imageHeight / 15 + imageHeight / 5, imageWidth - imageWidth / 15, true); AddViewLine(imageHeight / 15, imageWidth - imageWidth / 15, imageHeight / 15, imageWidth - imageWidth / 15 - imageWidth / 5, true); foreach (var item in hObjectList) { if (item != null) { item.Dispose(); } } hObjectList.Clear(); //this.HMouseClick = this.viewController.HMouseClick; this.viewController.HMouseClick += new HMouseEventHandler(HMouseDown); } catch { } } }
/*******************************************************************/ private void noneRadioButton_CheckedChanged(object sender, System.EventArgs e) { viewControl.setViewState(HWndCtrl.MODE_VIEW_NONE); }
/// <summary> /// 指定ROI类型画ROI /// </summary> /// <param name="ROI_TYPE">ROI.ROI_TYPE</param> /// <returns></returns> public ROI DrawROI(int ROI_TYPE) { ROI NewROI = null; viewController.setViewState(HWndCtrl.MODE_ROI_Create); WPF_HWindow.HalconWindow.SetColor("red"); if (ROI_TYPE == ROI.ROI_TYPE_LINE) { double row1, row2, column1, column2; hv_window.DrawLine(out row1, out column1, out row2, out column2); if (row1 == 0 && row2 == 0 && column1 == 0 && column2 == 0) { Console.WriteLine("空的ROI"); } else { ROILine _ROI = new ROILine(); _ROI.createROI(row1, column1, row2, column2); NewROI = _ROI; } } else if (ROI_TYPE == ROI.ROI_TYPE_RECTANGLE1) {//如果type是Rectangle1 double row1, row2, column1, column2; hv_window.DrawRectangle1(out row1, out column1, out row2, out column2); if (row1 == 0 && row2 == 0 && column1 == 0 && column2 == 0) { Console.WriteLine("空的ROI"); } else { ROIRectangle1 _ROI = new ROIRectangle1(); _ROI.createROI(row1, column1, row2, column2); NewROI = _ROI; } } else if (ROI_TYPE == ROI.ROI_TYPE_RECTANGLE2) {// double row, column, phi, length1, length2; hv_window.DrawRectangle2(out row, out column, out phi, out length1, out length2); if (row == 0 && column == 0 && length1 == 0 && length2 == 0) { Console.WriteLine("空的ROI"); } else { ROIRectangle2 _ROI = new ROIRectangle2(); _ROI.createROI(row, column, phi, length1, length2); NewROI = _ROI; } } else if (ROI_TYPE == ROI.ROI_TYPE_REGION) {//如果type是Region HRegion hr = hv_window.DrawRegion(); if (hr.Area.L == 0) { Console.WriteLine("空的ROI"); } else { NewROI = new ROIRegion(hr); } } else if (ROI_TYPE == ROI.ROI_TYPE_CIRCLE) { double row, column, radius; hv_window.DrawCircle(out row, out column, out radius); if (row == 0 && column == 0 && radius == 0) { Console.WriteLine("空的ROI"); } else { ROICircle _ROI = new ROICircle(); _ROI.createROI(column, row, radius); NewROI = _ROI; } } DelaySetViewState(HWndCtrl.MODE_VIEW_MOVE); //hv_window.DispObj(hr); return(NewROI); }
/************************************************************************* * Eventhandles for the GUI components mapping the view functions, like * move, zoom and the neutral state. * /**************************************************************************/ private void MoveButton_CheckedChanged(object sender, System.EventArgs e) { viewControl.setViewState(HWndCtrl.MODE_VIEW_MOVE); }
/// <summary>When the corresponding radio button is checked, mouse events trigger more actions.</summary> private void moveButton_Click(object sender, System.EventArgs e) { viewController.setViewState(HWndCtrl.MODE_VIEW_MOVE); }