From 5d05df27234fcb2bb9d5179a640c59590009f15a Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期四, 24 十二月 2020 10:47:58 +0800
Subject: [PATCH] 保存图片开关和格式配置

---
 LLMF/frmMain.cs |  150 ++++++++++++++++++++++++++------------------------
 1 files changed, 78 insertions(+), 72 deletions(-)

diff --git a/LLMF/frmMain.cs b/LLMF/frmMain.cs
index b8141bb..a96d35b 100644
--- a/LLMF/frmMain.cs
+++ b/LLMF/frmMain.cs
@@ -43,7 +43,7 @@
 
         HTuple ImageHeight = new HTuple();
         HTuple ImageWidth = new HTuple();
-        
+
         bool isLeftCameraOpen = false;
         bool isRightCameraOpen = false;
         bool isDoorOpen = false;
@@ -51,7 +51,7 @@
         //bool isCylinder2Loosen = false;
         bool isUUTOut = false;
         bool isRealyOK = false;
-        
+
         #endregion
         WelcomeUser m_WelcomeForm = new WelcomeUser(); //娆㈣繋鐣岄潰
         public frmMain()
@@ -62,7 +62,7 @@
         private void frmMain_Load(object sender, EventArgs e)
         {
             m_WelcomeForm.Show(); //鏄剧ず娆㈣繋鐣岄潰
-          //  m_WelcomeForm.ProgressBar1.Value = 0; //娆㈣繋鐣岄潰杩涘害鏉�
+                                  //  m_WelcomeForm.ProgressBar1.Value = 0; //娆㈣繋鐣岄潰杩涘害鏉�
             Application.DoEvents(); //澶勭悊鎵�鏈夌殑褰撳墠鍦ㄦ秷鎭槦鍒椾腑鐨刉indows娑堟伅銆�
 
             Log.WriteLog("App main form loading");
@@ -101,13 +101,13 @@
             Log.WriteLog("MapTagToControl Enter");
 
             opc.itemReadDict[InputTag.X_JinDian].control = lblX_JinDian;
-            opc.itemReadDict[InputTag.Z_JinDian].control =lblZ_JinDian;
-            opc.itemReadDict[InputTag.X_Alarm].control =lblX_Alarm;
+            opc.itemReadDict[InputTag.Z_JinDian].control = lblZ_JinDian;
+            opc.itemReadDict[InputTag.X_Alarm].control = lblX_Alarm;
             opc.itemReadDict[InputTag.Z_Alarm].control = lblZ_Alarm;
             opc.itemReadDict[InputTag.X_CW].control = lblX_CW;
             opc.itemReadDict[InputTag.X_CCW].control = lblX_CCW;
             opc.itemReadDict[InputTag.Z_CW].control = lblZ_CW;
-            opc.itemReadDict[InputTag.Z_CCW].control =lblZ_CCW;
+            opc.itemReadDict[InputTag.Z_CCW].control = lblZ_CCW;
             opc.itemReadDict[InputTag.DingWei_CW].control = lblDingWei_CW;
             opc.itemReadDict[InputTag.DingWei_CCW].control = lblDingWei_CCW;
             opc.itemReadDict[InputTag.DingWei_JinDian].control = lblDingWei_JinDian;
@@ -119,7 +119,7 @@
             opc.itemReadDict[InputTag.E_Stop].control = lblE_Stop;
             opc.itemReadDict[InputTag.SafeCurtain].control = lblSafeCurtain;
             opc.itemReadDict[InputTag.OpenJieJin].control = lblOpenJieJin;
-            opc.itemReadDict[InputTag.CeBianQian].control =lblCeBianQian;
+            opc.itemReadDict[InputTag.CeBianQian].control = lblCeBianQian;
             opc.itemReadDict[InputTag.CeBianHou].control = lblCeBianHou;
             opc.itemReadDict[InputTag.WuGanQian].control = lblWuGanQian;
             opc.itemReadDict[InputTag.WuGanHou].control = lblWuGanHou;
@@ -143,7 +143,7 @@
             opc.itemWriteDict[OutputTag.ForApple].control = lblForApple;
             opc.itemWriteDict[OutputTag.CameraLighto].control = lblCameraLighto;
             opc.itemWriteDict[OutputTag.WuGanCylider2].control = lblWuGanCylider2;
-            
+
             Log.WriteLog("MapTagToControl Leave");
         }
 
@@ -182,7 +182,7 @@
                 config.maxAngle = 121;
                 config.pulsePerDegree = 500;
                 config.calAngle = 120;
-                config.saveImage = true;                
+                config.saveImage = true;
                 sft.SetConfig(configPath, config);
             }
             this.tsplabelProductName.Text = config.title;
@@ -209,7 +209,7 @@
         /// <summary>
         /// 鍔犺浇鐩告満
         /// </summary>
-        private void  initCam_Right()
+        private void initCam_Right()
         {
             Log.WriteLog("initCam_Right Enter");
 
@@ -219,7 +219,7 @@
 
             Log.WriteLog("initCam_Right Leave");
         }
-        
+
 
         /// <summary>
         /// 鍔犺浇HalconTool
@@ -284,11 +284,14 @@
                                 if (runStatus != RunStatus.continueCapture)
                                 {
                                     #region 淇濆瓨鍥剧墖
-                                    string FolderPath = "D:\\Image\\" + DateTime.Now.ToString("yyyyMMdd");
-                                    string fileName = txtSN.Text.Trim() + "-" + DateTime.Now.ToString("HHmmssffff");
+                                    if (config.saveImage)
+                                    {
+                                        string FolderPath = "D:\\Image\\" + DateTime.Now.ToString("yyyyMMdd");
+                                        string fileName = txtSN.Text.Trim() + "-" + DateTime.Now.ToString("HHmmssffff");
 
-                                    if (!Directory.Exists(FolderPath)) Directory.CreateDirectory(FolderPath);
-                                    cam.SaveImage(FolderPath, fileName);
+                                        if (!Directory.Exists(FolderPath)) Directory.CreateDirectory(FolderPath);
+                                        cam.SaveImage(FolderPath, fileName, string.IsNullOrWhiteSpace(config.saveImageFormat) ? "png" : config.saveImageFormat);
+                                    }
                                     #endregion
                                 }
 
@@ -298,7 +301,7 @@
                                 ht.JobImage = recImage.CopyImage();
                                 HOperatorSet.GetImageSize(ht.JobImage, out ImageWidth, out ImageHeight);
                                 ht.JobResults.Clear();
-                                
+
                                 Log.WriteLog("cam_GrabImageDone GrabSuccess run JobLLMF");
                                 ht.Run("JobLLMF");
 
@@ -348,11 +351,14 @@
                                 if (runStatus_left != RunStatus.continueCapture)
                                 {
                                     #region 淇濆瓨鍥剧墖
-                                    string FolderPath = "D:\\Image\\" + DateTime.Now.ToString("yyyyMMdd") + "-left";
-                                    string fileName = txtSN.Text.Trim() + "-" + DateTime.Now.ToString("HHmmssffff");
+                                    if (config.saveImage)
+                                    {
+                                        string FolderPath = "D:\\Image\\" + DateTime.Now.ToString("yyyyMMdd") + "-left";
+                                        string fileName = txtSN.Text.Trim() + "-" + DateTime.Now.ToString("HHmmssffff");
 
-                                    if (!Directory.Exists(FolderPath)) Directory.CreateDirectory(FolderPath);
-                                    cam_left.SaveImage(FolderPath, fileName);
+                                        if (!Directory.Exists(FolderPath)) Directory.CreateDirectory(FolderPath);
+                                        cam_left.SaveImage(FolderPath, fileName, string.IsNullOrWhiteSpace(config.saveImageFormat) ? "png" : config.saveImageFormat);
+                                    }
                                     #endregion
                                 }
 
@@ -391,7 +397,7 @@
 
             this.BeginInvoke(new MethodInvoker(delegate
                 {
-                    Log.WriteLog("resultCreater_ListenEvent UI, data:" + e.IData.Data.ToString()+ ", runStatus:" + runStatus);
+                    Log.WriteLog("resultCreater_ListenEvent UI, data:" + e.IData.Data.ToString() + ", runStatus:" + runStatus);
 
                     string s = e.IData.Data.ToString();
                     if (!s.Equals("JobLLMF_Done"))
@@ -438,12 +444,12 @@
                     Log.WriteLog("resultCreater_ListenEvent UI, ShowDisplayAngle angle: " + tmpAngle.ToString());
 
                     ShowDisplayAngle(tmpAngle.ToString("0.00"));
-                    if(booltemAngle==true)
+                    if (booltemAngle == true)
                     {
-                        Log.WriteLog("Camera Get The Alignment tmpAangle"+tmpAngle.ToString());
-                    
+                        Log.WriteLog("Camera Get The Alignment tmpAangle" + tmpAngle.ToString());
+
                     }
-                    
+
 
                     if (runStatus == RunStatus.calibration)                                     //鏍囧畾
                     {
@@ -465,7 +471,7 @@
 
                             //Janhans 澧炲姞鐣岄潰瑙掑害log璁拌浇鐨凢lage 鍙橀噺 booltemAngle
                             booltemAngle = true;
-                            Log.WriteLog("Camera Get The InitAngle "+initAngle.ToString());
+                            Log.WriteLog("Camera Get The InitAngle " + initAngle.ToString());
                         }
                         if (tmpAngle >= config.minAngle && tmpAngle <= config.maxAngle)
                         {
@@ -475,13 +481,13 @@
                             sw.Stop();
                             Log.WriteLog("Camera Get The FinalAngle" + finalAngle);
 
-                            str=sw.ElapsedMilliseconds.ToString();
-                            Log.WriteLog("Aangle_Alignment_Time"+str+"ms");
+                            str = sw.ElapsedMilliseconds.ToString();
+                            Log.WriteLog("Aangle_Alignment_Time" + str + "ms");
                             sw.Restart();
                             Log.WriteLog("resultCreater_ListenEvent UI, opc write OutputTag.Move_OK true begin");
                             opc.Write(OutputTag.Move_OK, true);
                             Log.WriteLog("resultCreater_ListenEvent UI, opc write OutputTag.Move_OK true end");
-                           
+
                             Log.WriteLog("-------瑙掑害璋冩暣瀹屾垚锛岀户鐢靛櫒涓婄數锛� PC缁欏嚭淇″彿鑷矼acmin-----");
                             Log.WriteLog("--------Relay turn on------");
                             isRealyOK = true;
@@ -489,7 +495,7 @@
                             txtResultInitAngle.Text = initAngle.ToString("0.00");
                             txtResultFinalAngle.Text = finalAngle.ToString("0.00");
                             booltemAngle = false;//鐣岄潰瑙掑害log璁拌浇鐨凢lage 鍙橀噺 booltemAngle
-                            
+
 
                             //RunEnd();
                             //Log.WriteLog("resultCreater_ListenEvent UI, RunEnd");
@@ -522,7 +528,7 @@
 
             this.BeginInvoke(new MethodInvoker(delegate
                 {
-                    Log.WriteLog("resultCreater_left_ListenEvent UI, data:"+ e.IData.Data.ToString() + " runStatus: " + runStatus);
+                    Log.WriteLog("resultCreater_left_ListenEvent UI, data:" + e.IData.Data.ToString() + " runStatus: " + runStatus);
 
                     string s = e.IData.Data.ToString();
                     if (!s.Equals("JobLLMF_Done"))
@@ -628,7 +634,7 @@
 
         void listenEventCreater_ListenEvent(object sender, EventTool.ListenEventArgs e)
         {
-           // Log.WriteLog("listenEventCreater_ListenEvent Enter");
+            // Log.WriteLog("listenEventCreater_ListenEvent Enter");
 
             this.BeginInvoke(new MethodInvoker(delegate
                 {
@@ -674,7 +680,7 @@
                                 Log.WriteLog("------鍙屾墜鍚姩瀹屾垚锛屼骇鍝侀�佹枡寮�濮嬶紝鐩告満鍑嗗鎷嶇収----");
                                 //鍙屾墜鍚姩锛屼骇鍝侀�佹枡寮�濮�
                                 sw.Start();
-                 
+
                                 StopRightCamera();
 
                                 Log.WriteLog("listenEventCreater_ListenEvent InputTag.Start opc write OutputTag.Start");
@@ -754,7 +760,7 @@
                     }
                 }));
 
-           // Log.WriteLog("listenEventCreater_ListenEvent Leave");
+            // Log.WriteLog("listenEventCreater_ListenEvent Leave");
         }
         void listenOutTageEventCreater_ListenEvent(object sender, EventTool.ListenEventArgs e)
         {
@@ -779,17 +785,17 @@
                         else
                         {
                             btnDisplay_left.Text = (bool)item.value ? "缁х數鍣ㄤ笂鐢靛苟淇濇寔" : "缁х數鍣ㄦ柇鐢�";
-                                                   
+
 
                         }
 
                         if ((bool)item.value && isRealyOK)
                         {
                             //Log.WriteLog("--------瑙掑害璋冩暣瀹屾垚锛岀户鐢靛櫒涓婄數------");
-                        
+
 
                         }
-                         else if (!((bool)item.value) && isRealyOK)
+                        else if (!((bool)item.value) && isRealyOK)
                         {
                             Log.WriteLog("--------浜у搧妫�娴嬪畬鎴�,OP澶嶄綅鎿嶄綔锛岀户鐢靛櫒鏂數------");
                             Log.WriteLog("--------Relay turn off------");
@@ -800,8 +806,8 @@
                             RunEnd();
                             Log.WriteLog("resultCreater_ListenEvent UI, RunEnd");
                         }
-                       
-                        break;  
+
+                        break;
 
                 }
             }));
@@ -857,10 +863,10 @@
                 opc.ReadOneItem_Wrapper(item.Key, ref status);
                 string logstr = (null == item.Value) ? "null" : item.Value.ToString();
                 Log.WriteLog("UpdateOPC itemReadDict key: " + item.Key + " value:" + logstr);
-                
+
                 switch (item.Key)
                 {
-                    case InputTag.Capture :
+                    case InputTag.Capture:
                         break;
 
                     case InputTag.Position:
@@ -885,7 +891,7 @@
             {
                 object status = new Object();
                 opc.ReadOneItem_Wrapper(item.Key, ref status);
-                string logstr =(null == item.Value) ? "null" : item.Value.ToString();
+                string logstr = (null == item.Value) ? "null" : item.Value.ToString();
                 Log.WriteLog("UpdateOPC itemWriteDict key: " + item.Key + " value:" + logstr);
                 switch (item.Key)
                 {
@@ -902,29 +908,29 @@
                         ckbCameraLight_left.Text = ckbCameraLight_left.Checked ? "鍏夋簮鍏�" : "鍏夋簮寮�";
                         break;
 
-                    //case OutputTag.ForApple:
-                    //    if (config.rightUsed == true )
-                    //    {
-                    //        btnDisplay.Text = (bool)item.Value.value ? "缁х數鍣ㄤ笂鐢�" : "缁х數鍣ㄦ柇鐢�";
-                                                      
-                            
-                    //    }
-                    //    else
-                    //    {
-                    //        btnDisplay_left.Text = (bool)item.Value.value ? "缁х數鍣ㄤ笂鐢�" : "缁х數鍣ㄦ柇鐢�";
-                           
-                    //    }
+                        //case OutputTag.ForApple:
+                        //    if (config.rightUsed == true )
+                        //    {
+                        //        btnDisplay.Text = (bool)item.Value.value ? "缁х數鍣ㄤ笂鐢�" : "缁х數鍣ㄦ柇鐢�";
 
-                    //     if ((bool)item.Value.value && isRealyOK)
-                    //        {
-                    //         Log.WriteLog("--------瑙掑害璋冩暣瀹屾垚锛岀户鐢靛櫒涓婄數------");
-                    //        }
-                    //        if (!((bool)item.Value.value) && isRealyOK)
-                    //        {
-                    //            Log.WriteLog("--------浜у搧妫�娴嬪畬鎴�,OP澶嶄綅鎿嶄綔锛岀户鐢靛櫒鏂數------");
-                    //        }
-                    //        isRealyOK = false;     
-                    //    break;
+
+                        //    }
+                        //    else
+                        //    {
+                        //        btnDisplay_left.Text = (bool)item.Value.value ? "缁х數鍣ㄤ笂鐢�" : "缁х數鍣ㄦ柇鐢�";
+
+                        //    }
+
+                        //     if ((bool)item.Value.value && isRealyOK)
+                        //        {
+                        //         Log.WriteLog("--------瑙掑害璋冩暣瀹屾垚锛岀户鐢靛櫒涓婄數------");
+                        //        }
+                        //        if (!((bool)item.Value.value) && isRealyOK)
+                        //        {
+                        //            Log.WriteLog("--------浜у搧妫�娴嬪畬鎴�,OP澶嶄綅鎿嶄綔锛岀户鐢靛櫒鏂數------");
+                        //        }
+                        //        isRealyOK = false;     
+                        //    break;
                 }
             }
 
@@ -1245,21 +1251,21 @@
 
                 case 35:
                     alarm.Text = "璋冩暣浼烘湇瑙﹀彂鏋侀檺浣嶏紝璇锋鏌ヤ骇鍝佹墦寮�鐨勫垵濮嬭搴�";
-                     sw.Stop();
+                    sw.Stop();
                     sw.Reset();
                     Log.WriteLog(alarm.Text.ToString());
                     break;
 
                 case 36:
                     alarm.Text = "瀹氫綅鐩告満鍏夋簮鏈墦寮�锛岃妫�鏌ョ浉鏈哄厜婧愮姸鎬佸苟鎬ュ仠澶嶄綅";
-                     sw.Stop();
+                    sw.Stop();
                     sw.Reset();
                     Log.WriteLog(alarm.Text.ToString());
                     break;
 
                 case 37:
                     alarm.Text = "鐩告満鏈媿鐓э紝璇烽噸鍚▼搴忔垨妫�鏌LC鐘舵��";
-                     sw.Stop();
+                    sw.Stop();
                     sw.Reset();
                     Log.WriteLog(alarm.Text.ToString());
                     break;
@@ -1636,7 +1642,7 @@
         {
             Log.WriteLog("tVideo_left_Tick Enter");
 
-            cam_left.GrabImage("");           
+            cam_left.GrabImage("");
 
             Log.WriteLog("tVideo_left_Tick Leave");
         }
@@ -1798,7 +1804,7 @@
 
             if (frmp.isOK)
             {
-                frmConfig tmpCon = new frmConfig(opc, config,"Right");
+                frmConfig tmpCon = new frmConfig(opc, config, "Right");
                 tmpCon.ShowDialog();
             }
 
@@ -1814,7 +1820,7 @@
 
             if (frmp.isOK)
             {
-                frmConfig tmpCon = new frmConfig(opc, config,"Left");
+                frmConfig tmpCon = new frmConfig(opc, config, "Left");
                 tmpCon.ShowDialog();
             }
 
@@ -2113,10 +2119,10 @@
 
         private void ckbSaveImage_CheckedChanged(object sender, EventArgs e)
         {
-           
+
             if (ckbSaveImage.Checked)
             {
-                config.saveImage=true;
+                config.saveImage = true;
                 sft.SetConfig(configPath, config);
 
             }

--
Gitblit v1.8.0