예제 #1
0
        /// <summary>
        /// 保存Seal 和 Sheet 图片至指定目录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string savePath = ProgramData.SysPara.ImgSavePath + "\\" + dateTimePicker_SearchTime.Value.ToString("yyyyMMdd") + "\\";
            //检测选择是否为空
            GlassInfo glassInfo = comboBox_GlassIDList.SelectedItem as GlassInfo;

            if (glassInfo.Id == ProgramData.SelectTips)
            {
                return;
            }
            //检测保存目录是否存在
            if (!Directory.Exists(savePath))
            {
                Directory.CreateDirectory(savePath);
            }
            //保存Seal图片
            if (!SealImgMat.IsEmpty)
            {
                string sealFileName = savePath + glassInfo.Id + "_" + ProgramData.SealStr + ProgramData.ImgSuffix;
                SealImgMat.Save(sealFileName);
            }
            //保存Sheet图片
            if (!SheetImgMat.IsEmpty)
            {
                string sealFileName = savePath + glassInfo.Id + "_" + ProgramData.SheetStr + ProgramData.ImgSuffix;
                SheetImgMat.Save(sealFileName);
            }
        }
예제 #2
0
 /// <summary>
 /// 刷新GlassInfo
 /// </summary>
 /// <param name="glassInfo"></param>
 private void RefreshGlassInfo(GlassInfo glassInfo)
 {
     textBox_CreateTime.Text = glassInfo.CreateTime;
     textBox_EQ00.Text       = glassInfo.Equip00_ID;
     textBox_EQ01.Text       = glassInfo.Equip01_ID;
     textBox_Point1X.Text    = glassInfo.Point1.X.ToString();
     textBox_Point1Y.Text    = glassInfo.Point1.Y.ToString();
     textBox_Point2X.Text    = glassInfo.Point2.X.ToString();
     textBox_Point2Y.Text    = glassInfo.Point2.Y.ToString();
     textBox_Point3X.Text    = glassInfo.Point3.X.ToString();
     textBox_Point3Y.Text    = glassInfo.Point3.Y.ToString();
     textBox_Point4X.Text    = glassInfo.Point4.X.ToString();
     textBox_Point4Y.Text    = glassInfo.Point4.Y.ToString();
 }
예제 #3
0
        /// <summary>
        /// 保存SheetImg至选择目录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveSheetPicToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //检测选择是否为空
            GlassInfo glassInfo = comboBox_GlassIDList.SelectedItem as GlassInfo;

            if (glassInfo.Id == ProgramData.SelectTips)
            {
                MessageBox.Show("Not Select Glass!");
                return;
            }
            //保存Sheet图片
            if (!SealImgMat.IsEmpty)
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter           = "Picture |*.jpg;*.png;*.gif;*.jpeg;*.bmp";
                saveFileDialog.FilterIndex      = 2;
                saveFileDialog.RestoreDirectory = true;
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    SheetImgMat.Save(saveFileDialog.FileName);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// 读取Glassinfo,参数Filename,不含后缀
        /// </summary>
        /// <param name="filepath"></param>
        public static void ReadGlassInfo(string fileName)
        {
            SysPara.GlassInfos.Clear();
            SysPara.GlassInfos = new List <GlassInfo>();
            if (SysPara.SourcePath == "Not Config")
            {
                //MessageBox.Show("Please config the Retrieving Source Catalogue!");
                //MessageBox.Show("Please config the Source Path!");
                MessageBox.Show("Please config the Source Path!", "Tips", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification);
                return;
            }
            string   filePath = GlassInfoPath + fileName + ".dat";
            FileInfo fileInfo = new FileInfo(filePath);

            if (!Directory.Exists(fileInfo.DirectoryName))
            {
                Directory.CreateDirectory(fileInfo.DirectoryName);
                LogNet.WriteInfo("ReadGlassInfo():Create Directory!");
            }
            if (File.Exists(filePath))
            {
                SysPara.GlassInfos = (List <GlassInfo>)CommonMethod.GetDataFromFile(filePath);
            }

            //扫描文件目录
            string SearchPath = SysPara.SourcePath + "\\" + fileName;
            List <DirectoryInfo> GlassIDListDirectory = CommonMethod.GetFilePath(SearchPath);
            List <FileInfo>      GlassIDCsvList       = CommonMethod.GetFile(SearchPath, TextSuffix);

            //提取数据
            if (SysPara.GlassInfos.Count != GlassIDListDirectory.Count)//数据不相等
            {
                foreach (var o in GlassIDListDirectory)
                {
                    if (SysPara.GlassInfos.Count <= 0 || SysPara.GlassInfos.Where(p => p.DirName == o.Name).ToList().Count <= 0)
                    {
                        //时间判断
                        if ((DateTime.Now - o.CreationTime).Minutes < OverTime)
                        {
                            continue;
                        }
                        //初始化数据
                        GlassInfo glassInfo = new GlassInfo();
                        //提取ID
                        string tmpID = o.Name;
                        int    index = tmpID.IndexOf("TB");
                        if (index != -1)
                        {
                            tmpID = tmpID.Remove(0, index + 2);
                        }
                        glassInfo.Id = tmpID;
                        //提取EQID,Point坐标
                        FileInfo textInfo = GlassIDCsvList.Where(p => p.Name.Contains(tmpID)).FirstOrDefault();
                        if (textInfo != null)
                        {
                            StreamReader sr     = new StreamReader(textInfo.FullName);
                            int          iLnTmp = 0;                            //记录文件行数
                            string       sTmp   = "";                           //读取的数据
                            while (!sr.EndOfStream && iLnTmp <= Point4Line + 1) //不为最后一行,且小于要读的最后的行数
                            {
                                iLnTmp++;
                                sTmp = sr.ReadLine();    //读取当前行
                                //设备ID
                                if (iLnTmp == ReadEQLine)
                                {
                                    glassInfo.Equip00_ID = GetLastStr(sTmp, ',');
                                    glassInfo.Equip01_ID = glassInfo.Equip00_ID;
                                    continue;
                                }
                                //Point1
                                if (iLnTmp == Point1Line)
                                {
                                    glassInfo.Point1.X = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                if (iLnTmp == Point1Line + 1)
                                {
                                    glassInfo.Point1.Y = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                //Point2
                                if (iLnTmp == Point2Line)
                                {
                                    glassInfo.Point2.X = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                if (iLnTmp == Point2Line + 1)
                                {
                                    glassInfo.Point2.Y = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                //Point3
                                if (iLnTmp == Point3Line)
                                {
                                    glassInfo.Point3.X = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                if (iLnTmp == Point3Line + 1)
                                {
                                    glassInfo.Point3.Y = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                //Point4
                                if (iLnTmp == Point4Line)
                                {
                                    glassInfo.Point4.X = GetLastStr(sTmp, ',');
                                    continue;
                                }
                                if (iLnTmp == Point4Line + 1)
                                {
                                    glassInfo.Point4.Y = GetLastStr(sTmp, ',');
                                    continue;
                                }
                            }
                            sr.Close();
                        }
                        //记录文件目录
                        glassInfo.DirName = o.Name;
                        //添加数据
                        SysPara.GlassInfos.Add(glassInfo);
                        //{
                        //    Id = tmpID,
                        //    DirName = o.Name,
                        //    CreateTime = o.CreationTime.ToString("yyyyMMdd hh:ss"),
                        //    Equip00_ID = "",
                        //    Equip01_ID = "",
                        //    Point1 = new SheetShift(0, 0),
                        //    Point2 = new SheetShift(0, 0),
                        //    Point3 = new SheetShift(0, 0),
                        //    Point4 = new SheetShift(0, 0)
                        //});
                    }
                }
            }
        }