/// <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)) }
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); } }
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(); } }