public bool Read(string Path) { bool IsOk = true; // BasePath = System.IO.Directory.GetCurrentDirectory(); string path = Path + ConfigName + @"\"; this.localSetting = XML <LocalSettingPara> .Read(path + "LocalSetting.xml"); this.Template = XML <St_TemplateParam> .Read(path + "Template.xml"); this.Lines = XML <St_LinesParam> .Read(path + "Lines.xml"); this.Circles = XML <St_CirclesParam> .Read(path + "Circles.xml"); this.Blobs = XML <St_BlobLocalParam> .Read(path + "Blobs.xml"); this.LineCirRectInspParam = XML <St_InspectImageSetting> .Read(path + "LineCirRectInspParam.xml"); if (localSetting == null) { return(true); } if (localSetting.localModel.ToString().Contains("Temp")) { Template.Load(path); } return(IsOk); }
private void btnCreateTemplate_Click(object sender, EventArgs e) { if (btnCreateTemplate.Text == "新建") { btnCreateTemplate.Enabled = true; panelOperator.Enabled = true; groupBox1.Enabled = true; this.Enabled = true; btnCreateTemplate.Text = "保存"; view1.roiController.reset(); view1.roiController.NotifyRCObserver += UpdateViewData; view1.roiController.setROISign(ViewROI.ROIController.MODE_ROI_POS); if (CurrentImage == null) { Logger.PopError("请先采集图片!", true); return; } view1.SetDraw("red", "margin"); //1.0界面去使能 this.BeginInvoke(new Action(() => { ActionIsDrawingRoi(true); })); view1.Refresh(); view1.AddImage(CurrentImage); if (RoiStr.Equals("Rect1")) { view1.SetString(12, 12, "red", "绘制矩形区域作为模板区域"); Thread.Sleep(10); view1.roiController.setROIShape(new ViewROI.ROIRectangle1(200)); } #region //else if (RoiStr.Equals("Rect2")) //{ // HOperatorSet.ClearWindow(ShowWindow); // MyVisionBase.hDispObj(ShowWindow, CurrentImage); // MyVisionBase.disp_message(ShowWindow, "绘制矩形区域作为模板区域", "window", 12, 12, "red", "false"); // HTuple CenterRow, CenterCol, Rect2Phi, RectL1, RectL2; // HOperatorSet.DrawRectangle2(ShowWindow, out CenterRow, out CenterCol, out Rect2Phi, out RectL1, out RectL2); // ModelRoi = new HRegion(); // ModelRoi.GenRectangle2(CenterRow, CenterCol, Rect2Phi, RectL1, RectL2); //} //else if (RoiStr.Equals("Circle")) //{ // MyVisionBase.disp_message(ShowWindow, "绘制圆形区域作为模板区域", "window", 12, 12, "red", "false"); // HTuple CircleRow, CircleCol, CircleR; // HOperatorSet.DrawCircle(ShowWindow, out CircleRow, out CircleCol, out CircleR); // ModelRoi = new HRegion(); // ModelRoi.GenCircle(CircleRow, CircleCol, CircleR); //} //else if (RoiStr.Equals("CircleMod")) //{ // HTuple CircleRowIn, CircleColIn, CircleRIn, CircleRow, CircleCol, CircleR; // MyVisionBase.disp_message(ShowWindow, "绘制外圆区域作为圆环模板区域的外圆", "window", 12, 12, "red", "false"); // HOperatorSet.DrawCircle(ShowWindow, out CircleRowIn, out CircleColIn, out CircleRIn); // HOperatorSet.ClearWindow(ShowWindow); // MyVisionBase.hDispObj(ShowWindow, CurrentImage); // MyVisionBase.disp_message(ShowWindow, "绘制内圆区域作为圆环模板区域的内圆", "window", 12, 12, "red", "false"); // HOperatorSet.DrawCircleMod(ShowWindow, CircleRowIn, CircleColIn, CircleRIn, out CircleRow, out CircleCol, out CircleR); // HRegion InnerCirRegion = new HRegion(); // ModelRoi = new HRegion(); // InnerCirRegion.GenCircle(CircleRowIn, CircleColIn, CircleRIn); // ModelRoi.GenCircle(CircleRow, CircleCol, CircleR); // ModelRoi.Difference(InnerCirRegion); //} //else if (RoiStr.Equals("Rect2+Rect2")) //{ // HTuple CenterRow, CenterCol, Rect2Phi, RectL1, RectL2; // HRegion Rect2ROI = new HRegion(); // MyVisionBase.disp_message(ShowWindow, "绘制矩形1作为矩形联合区域的第一个矩形区域", "window", 12, 12, "red", "false"); // HOperatorSet.DrawRectangle2(ShowWindow, out CenterRow, out CenterCol, out Rect2Phi, out RectL1, out RectL2); // ModelRoi = new HRegion(); // ModelRoi.GenRectangle2(CenterRow, CenterCol, Rect2Phi, RectL1, RectL2); // HOperatorSet.ClearWindow(ShowWindow); // MyVisionBase.hDispObj(ShowWindow, CurrentImage); // MyVisionBase.disp_message(ShowWindow, "绘制矩形2作为矩形联合区域的第二个矩形区域", "window", 12, 12, "red", "false"); // HOperatorSet.DrawRectangle2(ShowWindow, out CenterRow, out CenterCol, out Rect2Phi, out RectL1, out RectL2); // Rect2ROI.GenRectangle2(CenterRow, CenterCol, Rect2Phi, RectL1, RectL2); // ModelRoi = ModelRoi.Union2(Rect2ROI); //} //else //{ // HOperatorSet.DrawRectangle1(ShowWindow, out row1, out column1, out row2, out column2); // ModelRoi = new HRegion(row1, column1, row2, column2); //} #endregion } else if (btnCreateTemplate.Text == "保存") { btnCreateTemplate.Text = "新建"; view1.roiController.NotifyRCObserver -= UpdateViewData; view1.roiController.reset(); this.BeginInvoke(new Action(() => { ActionIsDrawingRoi(false); })); string files = TemplateParam.TemplatePath; if (false) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { files = saveFileDialog1.FileName; TemplateParam.Save(files); } } else { TemplateParam.Save(files); TemplateParam.Load(files); } } }