Example #1
0
        /// <summary>
        /// 确定
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSure_Click(object sender, EventArgs e)
        {
            try
            {
                ClsImg tempImg = new ClsImg();
                tempImg.Id      = Id;
                tempImg.Imgname = System.IO.Path.GetFileName(txtImgPath.Text);
                tempImg.Img     = Img;
                tempImg.X       = Convert.ToInt16(numD_x1.Value);
                tempImg.Y       = Convert.ToInt16(numD_y1.Value);
                tempImg.Pwidth  = Convert.ToInt16(numD_Width.Value);
                tempImg.Pheight = Convert.ToInt16(numD_Hight.Value);

                //string bytstr = cm.GetImgStr((Bitmap)pictureBox1.Image);
                cm.newnode      = new TreeNode();
                cm.newnode.Name = Id.ToString();
                cm.newnode.Text = "img-" + Id.ToString();
                cm.newnode.Tag  = tempImg;
                this.Close();
            }
            catch
            {
                cm.newnode = null;
            }
            //Image.FromStream(new MemoryStream(bmpBytes))
        }
Example #2
0
        void Imgcombe()
        {
            Task t = Task.Run(() =>
            {
                try {
                    Bitmap bip = ClsImg.ImgPj(bmp);
                    if (bip != null)
                    {
                        this.Invoke(new Action(() => { pict1.Image = bip; }));
                    }
                    else
                    {
                        MessageBox.Show("拼接失败");
                    }
                } catch (Exception e) {
                    MessageBox.Show("拼接失败:" + e.ToString());
                }
            });

            Task.WaitAll(t);
            Istxt(true);
        }
 private void picTemperatureShow_MouseMove(object sender, MouseEventArgs e)
 {
     _strTip           = "";
     _ptTip            = new Point(e.X + 10, e.Y);
     tlbllocation.Text = "当前鼠标坐标:" + "X:" + e.X.ToString() + "     Y:" + e.Y.ToString();
     if (tdrag)
     {
         int spanx = e.X - p1.X;
         int spany = e.Y - p1.Y;
         try
         {
             if (trvTemperture.SelectedNode.Tag != null)
             {
                 if (trvTemperture.SelectedNode.Tag.ToString() == "TempertureEditor.Element.ClsRec")
                 {
                     ClsRec    temp = (ClsRec)trvTemperture.SelectedNode.Tag;
                     Rectangle rec  = new Rectangle(temp.Rec.X + spanx, temp.Rec.Y + spany, temp.Rec.Width, temp.Rec.Height);
                     temp.Rec = rec;
                     trvTemperture.SelectedNode.Tag = temp;
                 }
                 else if (trvTemperture.SelectedNode.Tag.ToString() == "TempertureEditor.Element.ClsLine")
                 {
                     ClsLine temp = (ClsLine)trvTemperture.SelectedNode.Tag;
                     temp.X1 = temp.X1 + spanx;
                     temp.Y1 = temp.Y1 + spany;
                     temp.X2 = temp.X2 + spanx;
                     temp.Y2 = temp.Y2 + spany;
                     trvTemperture.SelectedNode.Tag = temp;
                 }
                 else if (trvTemperture.SelectedNode.Tag.ToString() == "TempertureEditor.Element.ClsText")
                 {
                     ClsText temp = (ClsText)trvTemperture.SelectedNode.Tag;
                     temp.X1 = temp.X1 + spanx;
                     temp.Y1 = temp.Y1 + spany;
                     trvTemperture.SelectedNode.Tag = temp;
                 }
                 else if (trvTemperture.SelectedNode.Tag.ToString() == "TempertureEditor.Element.ClsText")
                 {
                     ClsText temp = (ClsText)trvTemperture.SelectedNode.Tag;
                     temp.X1 = temp.X1 + spanx;
                     temp.Y1 = temp.Y1 + spany;
                     trvTemperture.SelectedNode.Tag = temp;
                 }
                 else if (trvTemperture.SelectedNode.Tag.ToString() == "TempertureEditor.Element.ClsImg")
                 {
                     ClsImg temp = (ClsImg)trvTemperture.SelectedNode.Tag;
                     temp.X = temp.X + spanx;
                     temp.Y = temp.Y + spany;
                     trvTemperture.SelectedNode.Tag = temp;
                 }
                 this.propertyGrid1.SelectedObject = trvTemperture.SelectedNode.Tag;
             }
         }
         catch
         {
         }
         p1.X = e.X;
         p1.Y = e.Y;
         this.picTemperatureShow.Refresh();
     }
     else
     {
         foreach (Page page in cm.Pages)
         {
             foreach (ClsDataObj obj in page.Objs)
             {
                 //if(obj.Typename== "TempertureEditor.Element.ClsLinedata")
                 object objtype = cm.GetVDataSetByName(obj.Typename);
                 if (objtype == null)
                 {
                     continue;
                 }
                 if (objtype.ToString() == "TempertureEditor.Element.ClsLinedata")
                 {
                     ClsLinedata lindedata = (ClsLinedata)objtype;
                     ClsSymbol   symbol    = cm.getClsSymbolByName(lindedata.Symbolname);
                     if (symbol != null)
                     {
                         Rectangle rc = new Rectangle((int)obj.X, (int)obj.Y, Convert.ToInt32(symbol.fontsize) + symbol.cx, Convert.ToInt32(symbol.fontsize) + symbol.cy);
                         if (rc.Contains(e.X, e.Y))
                         {
                             _strTip = obj.Val.ToString();
                             break;
                         }
                     }
                 }
             }
         }
         picTemperatureShow.Refresh();
     }
 }
        /// <summary>
        /// 整体调整位置
        /// </summary>
        /// <param name="span_rx"></param>
        /// <param name="span_ry"></param>
        /// <param name="isSelectNode"></param>
        private void AllElementReLocation(int span_rx, int span_ry, bool isSelectNode)
        {
            try
            {
                foreach (TreeNode tn in trvTemperture.Nodes)
                {
                    foreach (TreeNode tnelement in tn.Nodes)
                    {
                        //元素集合

                        if (isSelectNode)
                        {
                            if (trvTemperture.SelectedNode != null)
                            {
                                if (tnelement.Name != trvTemperture.SelectedNode.Name)
                                {
                                    continue;
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                        if (tn.Name == "element")
                        {
                            if (tnelement.Tag.ToString().Contains("ClsRec"))
                            {
                                ClsRec    temp = (ClsRec)tnelement.Tag;
                                Rectangle rec  = new Rectangle(temp.Rec.X + span_rx, temp.Rec.Y + span_ry, temp.Rec.Width, temp.Rec.Height);
                                temp.Rec      = rec;
                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                            else if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsText")
                            {
                                ClsText temp = (ClsText)tnelement.Tag;
                                temp.X1       = temp.X1 + span_rx;
                                temp.Y1       = temp.Y1 + span_ry;
                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                            else if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsLine")
                            {
                                ClsLine temp = (ClsLine)tnelement.Tag;
                                temp.X1       = temp.X1 + span_rx;
                                temp.Y1       = temp.Y1 + span_ry;
                                temp.X2       = temp.X2 + span_rx;
                                temp.Y2       = temp.Y2 + span_ry;
                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                            else if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsImg")
                            {
                                ClsImg temp = (ClsImg)tnelement.Tag;
                                temp.X = temp.X + span_rx;
                                temp.Y = temp.Y + span_ry;

                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                        }
                        else if (tn.Name == "vdataset")
                        {
                            if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsLinedata")
                            {
                                ClsLinedata temp = (ClsLinedata)tnelement.Tag;
                                temp.X = temp.X + span_rx;
                                temp.Y = temp.Y + span_ry;

                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                                //cm.GetTestPages();
                            }
                            else if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsTextdata")
                            {
                                ClsTextdata temp = (ClsTextdata)tnelement.Tag;
                                temp.X = temp.X + span_rx;
                                temp.Y = temp.Y + span_ry;

                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                                //cm.GetTestPages();
                            }
                        }
                    }
                }
                if (trvTemperture.SelectedNode != null)
                {
                    propertyGrid1.SelectedObject = trvTemperture.SelectedNode.Tag;
                }
                cm.GetTestPages();
                this.picTemperatureShow.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        /// <summary>
        /// 整体居中对齐
        /// </summary>
        /// <param name="isSelectNode"></param>
        private void AllElementAlignCenter(bool bHorAlign, bool bVerAlign, bool isSelectNode)
        {
            int      rx = 0;
            int      ry = 0;
            Graphics g  = picTemperatureShow.CreateGraphics();

            try
            {
                foreach (TreeNode tn in trvTemperture.Nodes)
                {
                    foreach (TreeNode tnelement in tn.Nodes)
                    {
                        //元素集合

                        if (isSelectNode)
                        {
                            if (trvTemperture.SelectedNode != null)
                            {
                                if (tnelement.Name != trvTemperture.SelectedNode.Name)
                                {
                                    continue;
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                        else
                        {
                            //当前框架不好做整体居中,所以整体居中以目前唯一的矩形区域ClsRec为参照物,调整其他元素的坐标。
                            //存在的问题是:如标题已经居中,需在整体调整居中后,再次单独调整居中处理
                            if (tn.Name != "element" || !tnelement.Tag.ToString().Contains("ClsRec"))
                            {
                                continue;
                            }
                        }

                        if (tn.Name == "element")
                        {
                            if (tnelement.Tag.ToString().Contains("ClsRec"))
                            {
                                ClsRec temp = (ClsRec)tnelement.Tag;

                                if (bHorAlign)
                                {
                                    rx = (cm.MaxWidth - temp.Rec.Width) / 2;
                                }
                                else
                                {
                                    rx = temp.Rec.X;
                                }
                                if (bVerAlign)
                                {
                                    ry = (cm.MaxHeight - temp.Rec.Height) / 2;
                                }
                                else
                                {
                                    ry = temp.Rec.Y;
                                }
                                int span_rx = rx - temp.Rec.X;
                                int span_ry = ry - temp.Rec.Y;
                                AllElementReLocation(span_rx, span_ry, false);
                                return;
                            }
                            else if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsText")
                            {
                                ClsText temp   = (ClsText)tnelement.Tag;
                                int     width  = cm.GetTextWidth(g, temp.Vtext, cm.GetFontById(temp.Fontid));
                                int     height = cm.GetTextHeight(g, temp.Vtext, cm.GetFontById(temp.Fontid));

                                if (bHorAlign)
                                {
                                    temp.X1 = (cm.MaxWidth - width) / 2;
                                }
                                if (bVerAlign)
                                {
                                    temp.Y1 = (cm.MaxHeight - height) / 2;
                                }
                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                            else if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsImg")
                            {
                                ClsImg temp = (ClsImg)tnelement.Tag;
                                if (bHorAlign)
                                {
                                    temp.X = (cm.MaxWidth - temp.Pwidth) / 2;
                                }
                                if (bVerAlign)
                                {
                                    temp.Y = (cm.MaxHeight - temp.Pheight) / 2;
                                }
                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                        }
                        else if (tn.Name == "vdataset")
                        {
                            if (tnelement.Tag.ToString() == "TempertureEditor.Element.ClsTextdata")
                            {
                                ClsTextdata temp = (ClsTextdata)tnelement.Tag;

                                if (bHorAlign)
                                {
                                    temp.X = (cm.MaxWidth - temp.Twidth) / 2;
                                }
                                if (bVerAlign)
                                {
                                    temp.Y = (cm.MaxHeight - temp.Theight) / 2;
                                }
                                tnelement.Tag = temp;
                                cm.UpdateXml(1, tnelement, cm.XmlDoc, trvTemperture);
                            }
                        }
                    }
                }
                if (trvTemperture.SelectedNode != null)
                {
                    propertyGrid1.SelectedObject = trvTemperture.SelectedNode.Tag;
                }
                cm.GetTestPages();
                this.picTemperatureShow.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #6
0
 private void FtpUp(string filetmp, string archpos, int maxpage, int arid, int regpage, bool bl)
 {
     try {
         Common.WriteArchlog(arid, "退出案卷");
         if (File.Exists(filetmp))
         {
             Common.WiteUpTask(arid, archpos, T_ConFigure.ScanTempFile, (int)T_ConFigure.ArchStat.扫描完, maxpage, filetmp, "0");
             if (bl)
             {
                 List <string> lsfile = new List <string>();
                 Himg._SplitImgScan(filetmp, out lsfile);
                 ClsImg.CleHole(lsfile);
                 string f = Himg.MergeImg(lsfile).Trim();
                 if (f.Length > 0)
                 {
                     File.Delete(filetmp);
                     filetmp = f;
                 }
             }
             if (T_ConFigure.FtpStyle == 1)
             {
                 string sourcefile = Path.Combine(T_ConFigure.FtpTmp, T_ConFigure.TmpScan, archpos, T_ConFigure.ScanTempFile);
                 string goalfile   = Path.Combine(T_ConFigure.gArchScanPath, archpos, T_ConFigure.ScanTempFile);
                 string path       = Path.Combine(T_ConFigure.gArchScanPath, archpos);
                 if (ftp.FtpMoveFile(sourcefile, goalfile, path))
                 {
                     Thread.Sleep(5000);
                     if (maxpage >= regpage)
                     {
                         Common.SetScanFinish(arid, maxpage, 1, (int)T_ConFigure.ArchStat.扫描完);
                     }
                     else
                     {
                         Common.SetScanFinish(arid, maxpage, 1, (int)T_ConFigure.ArchStat.无);
                     }
                     Common.DelTask(arid);
                     try {
                         Directory.Delete(Path.Combine(T_ConFigure.FtpTmpPath, T_ConFigure.TmpScan, archpos));
                     } catch { }
                     return;
                 }
             }
             else
             {
                 if (ftp.SaveRemoteFileUp(T_ConFigure.gArchScanPath, archpos, filetmp, T_ConFigure.ScanTempFile))
                 {
                     if (maxpage >= regpage)
                     {
                         Common.SetScanFinish(arid, maxpage, 1, (int)T_ConFigure.ArchStat.扫描完);
                     }
                     else
                     {
                         Common.SetScanFinish(arid, maxpage, 1, (int)T_ConFigure.ArchStat.无);
                     }
                     Common.DelTask(Convert.ToInt32(arid));
                     try {
                         File.Delete(filetmp);
                         Directory.Delete(Path.Combine(T_ConFigure.LocalTempPath, archpos));
                     } catch {
                     }
                     return;
                 }
                 // 新传输模式发现图像有错位现象
                 // string newfile = Path.Combine(T_ConFigure.gArchScanPath, archpos, T_ConFigure.ScanTempFile);
                 //string newpath = Path.Combine(T_ConFigure.gArchScanPath, archpos);
                 //bool x = await ftp.FtpUpFile(filetmp, newfile, newpath);
                 //if (x) {
                 //    Common.SetScanFinish(arid, maxpage, 1, (int)T_ConFigure.ArchStat.扫描完);
                 //    Common.DelTask(arid);
                 //    try {
                 //        File.Delete(filetmp);
                 //        Directory.Delete(Path.Combine(T_ConFigure.LocalTempPath, archpos));
                 //    } catch { }
                 //    return;
                 //}
             }
         }
         else
         {
             Common.WriteArchlog(ClsTwain.Archid, "退出时未找到图像文件");
         }
         Common.SetScanFinish(arid, maxpage, 0, (int)T_ConFigure.ArchStat.无);
     } catch {
         Common.SetScanFinish(arid, maxpage, 0, (int)T_ConFigure.ArchStat.无);
     } finally {
         GC.Collect();
     }
 }