public bool Save(string Path) { bool Isok = true; string path = Path + ConfigName + @"\"; if (!FileLib.DirectoryEx.Exist(Path + ConfigName)) { FileLib.DirectoryEx.Create(Path + ConfigName); } if (localSetting == null) { localSetting = new LocalSettingPara(); } if (localSetting.localModel.ToString().Contains("Temp")) { Isok = Isok && Template.Save(path); } Isok = Isok && XML <LocalSettingPara> .Write(this.localSetting, path + "LocalSetting.xml"); Isok = Isok && XML <St_TemplateParam> .Write(this.Template, path + "Template.xml"); Isok = Isok && XML <St_LinesParam> .Write(this.Lines, path + "Lines.xml"); Isok = Isok && XML <St_CirclesParam> .Write(this.Circles, path + "Circles.xml"); Isok = Isok && XML <St_BlobLocalParam> .Write(this.Blobs, path + "Blobs.xml"); Isok = Isok && XML <St_InspectImageSetting> .Write(this.LineCirRectInspParam, path + "LineCirRectInspParam.xml"); 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); } } }