public override void draw() { HOperatorSet.SetColor(this.LWindowHandle, "cyan"); HOperatorSet.SetDraw(this.LWindowHandle, "margin"); HalconHelp.disp_message(this.LWindowHandle, "选中一个牙", "window", 12, 12, "green", "true"); HOperatorSet.DrawRectangle1(this.LWindowHandle, out toothRow1, out toothColumn1, out toothRow2, out toothColumn2); tr1 = toothRow1.D; tr2 = toothRow2.D; tc1 = toothColumn1.D; tc2 = toothColumn2.D; HObject rect1; HOperatorSet.GenEmptyObj(out rect1); HOperatorSet.GenRectangle1(out rect1, toothRow1, toothColumn1, toothRow2, toothColumn2); HOperatorSet.DispObj(rect1, this.LWindowHandle); HalconHelp.disp_message(this.LWindowHandle, "选中检测区域", "window", 12, 12, "green", "true"); HOperatorSet.DrawRectangle1(this.LWindowHandle, out RoiRow1, out RoiColumn1, out RoiRow2, out RoiColumn2); rr1 = RoiRow1.D; rr2 = RoiRow2.D; rc1 = RoiColumn1.D; rc2 = RoiColumn2.D; HObject rect2; HOperatorSet.GenEmptyObj(out rect2); HOperatorSet.GenRectangle1(out rect2, RoiRow1, RoiColumn1, RoiRow2, RoiColumn2); HOperatorSet.DispObj(rect2, this.LWindowHandle); }
public override void draw() { HOperatorSet.SetColor(this.LWindowHandle, "cyan"); HOperatorSet.SetDraw(this.LWindowHandle, "margin"); //HOperatorSet.SetDraw(LWindowHandle, "margin"); //HOperatorSet.SetColor(LWindowHandle, "green"); HalconHelp.disp_message(LWindowHandle, "选取需要检测部分的最宽处", "window", 12, 12, "black", "true"); HOperatorSet.DrawRectangle1(this.LWindowHandle, out Row1, out Column1, out Row2, out Column2); this.R1 = Row1.D; this.R2 = Row2.D; this.C1 = Column1.D; this.C2 = Column2.D; }
private void OnImageProcessedEvent(CCamera instance, HObject ho_Image) { try { if (InvokeRequired) { Invoke(new CCamera.OnImageProcessedEventHandler(OnImageProcessedEvent), new object[] { instance, ho_Image }); return; } kk++; //Console.WriteLine("kk:" +kk); instance.tempImage.Dispose(); HOperatorSet.CopyImage(instance.Image, out instance.tempImage); HTuple cwindow = new HTuple(); switch (instance.logicName) { case "CCD1": cwindow = hWindowControl1.HalconWindow; break; case "CCD2": cwindow = hWindowControl2.HalconWindow; break; case "CCD3": cwindow = hWindowControl3.HalconWindow; break; case "CCD4": cwindow = hWindowControl4.HalconWindow; break; case "CCD5": cwindow = hWindowControl5.HalconWindow; break; //case "CCD6": cwindow = hWindowControl6.HalconWindow; // break; } for (int i = 0; i < 6; i++) { if (instance.logicName == "CCD" + i.ToString()) { HOperatorSet.SetColor(cwindow, "green"); HOperatorSet.SetDraw(cwindow, "margin"); HTuple w, h; HOperatorSet.GetImageSize(ho_Image, out w, out h); HOperatorSet.SetPart(cwindow, 0, 0, h, w); HOperatorSet.DispObj(ho_Image, cwindow); if (instance.RegionToDisp.IsInitialized() && instance.resultHTuple.Length > 0) { HOperatorSet.DispObj(instance.RegionToDisp, cwindow); HalconHelp.set_display_font(cwindow, 14, "courier", "false", "false"); HalconHelp.disp_message(cwindow, instance.resultHTuple, "window", 10, 10, "green", "false"); } } } switch (instance.logicName) { case "CCD1": cwindow = hWindowControl6.HalconWindow; break; case "CCD2": cwindow = hWindowControl7.HalconWindow; break; case "CCD3": cwindow = hWindowControl8.HalconWindow; break; case "CCD4": cwindow = hWindowControl9.HalconWindow; break; case "CCD5": cwindow = hWindowControl10.HalconWindow; break; } for (int i = 0; i < 6; i++) { if (instance.logicName == "CCD" + i.ToString()) { HOperatorSet.SetColor(cwindow, "green"); HOperatorSet.SetDraw(cwindow, "margin"); HTuple w, h; HOperatorSet.GetImageSize(ho_Image, out w, out h); HOperatorSet.SetPart(cwindow, 0, 0, h, w); HOperatorSet.DispObj(ho_Image, cwindow); if (instance.RegionToDisp.IsInitialized() && instance.resultHTuple.Length > 0) { HOperatorSet.DispObj(instance.RegionToDisp, cwindow); //if (instance.logicName == "CCD1") //{ // HalconHelp.set_display_font(cwindow, 14, "courier", "false", "false"); // HalconHelp.disp_message(cwindow, instance.resultHTuple, "window", 2, 2, "green", "false"); //} } } } DataRowCollection drc = ds.Tables["detailTable"].Rows; int rs = 0; string shijian = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); string path = PathHelper.currentProductPath + @"\" + shijian + ".txt"; foreach (DataRow dr in drc) { string s = dr[0].ToString(); if (dr[0].ToString() == instance.logicName) { if (instance.result.resultToShow.Count > rs) { double cl = double.Parse(instance.result.resultToShow[rs].data); double xz = (double)dr[2]; dr[5] = Math.Round((cl + xz), 3); if (double.Parse(dr[5].ToString()) <= double.Parse(dr[3].ToString()) && double.Parse(dr[5].ToString()) >= double.Parse(dr[4].ToString())) { dr[6] = "OK"; } else { dr[6] = "NG"; } if (instance.goodcountlist.Count() != 0) { dr[7] = Math.Round((double)(instance.goodcountlist[rs] / (double)Turntable.Instance.pn.totalCount * 100), 2).ToString() + "%"; //Console.WriteLine("" + instance.goodcountlist[rs] + "---" + (double)Turntable.Instance.pn.totalCount); } rs++; } else { dr[5] = 0; } // File.AppendAllText(path,dr[1].ToString() + " " + dr[5].ToString(), Encoding.Default); } } //File.AppendAllText(path,Environment.NewLine, Encoding.Default); DataHelper.CheckData(ds, instance.logicName, instance); } catch (Exception e) { MyDebug.ShowMessage("界面图像处" + e.Message); } finally { ho_Image.Dispose(); instance.RegionToDisp.Dispose(); instance.Image.Dispose(); instance.resultHTuple = new HTuple(); //UpdateProInfo(); } }