public JobClip Clone() { JobClip ret = (JobClip)MemberwiseClone(); // if(this.Miniature!= null) // ret.Miniature = (Image)this.Miniature.Clone(); if (this.SrcMiniature != null) { ret.SrcMiniature = (string)this.SrcMiniature.Clone(); } return(ret); }
public static JobClip SystemConvertFromXml(XmlElement jobElemenet, Type type) { JobClip job = new JobClip(); XmlNode currNode = jobElemenet.FirstChild; job.src = (string)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(string)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.TopSrc = (string)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(string)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.PrtFileInfo = (SPrtFileInfo)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(SPrtFileInfo)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.ClipRect = (Rectangle)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(Rectangle)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.W = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.H = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Rotation = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Left = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Top = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Note = (string)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(string)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } // job.NoteFontName = (string)PubFunc.SystemConvertFromXml(currNode.OuterXml,typeof(string)); // currNode = currNode.NextSibling; // if(currNode == null ) return job; // job.NoteFontSize = (float)PubFunc.SystemConvertFromXml(currNode.OuterXml,typeof(float)); FontConverter fc = new FontConverter(); if (currNode.InnerText != null && currNode.InnerText != string.Empty) { job.NoteFont = (Font)fc.ConvertFromString(currNode.InnerText); } currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.NoteMargin = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.NotePosition = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } if (currNode.ChildNodes.Count > 0) { job.Childs = new JobClip[currNode.ChildNodes.Count]; } for (int i = 0; i < currNode.ChildNodes.Count; i++) { job.Childs[i] = JobClip.SystemConvertFromXml((XmlElement)currNode.ChildNodes[i], typeof(JobClip)); } currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Margin_L = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Margin_R = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Margin_T = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.Margin_B = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.XCnt = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.YCnt = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.XDis = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.YDis = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.IsParent = (bool)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(bool)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.AutoSizeToContent = (bool)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(bool)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.isSimpleMode = (bool)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(bool)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.noClip = (bool)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(bool)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.NoteImageFileName = (string)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(string)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.AddtionInfoMask = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.XAddtion = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.YAddtion = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } job.XDis2 = (int)PubFunc.SystemConvertFromXml(currNode.OuterXml, typeof(int)); currNode = currNode.NextSibling; if (currNode == null) { return(job); } return(job); }
private Rectangle GetBound(JobClip jobclip) { Rectangle ret; string text = GetRealNoteText(jobclip, null, true); if (!isSimpleMode) { ret = new Rectangle(jobclip.Left, jobclip.Top, 0, 0); if (jobclip.IsParent) { for (int i = 0; i < jobclip.Childs.Length; i++) { Rectangle ret1 = GetBound(jobclip.Childs[i]); if (ret1.Right > ret.Width) { ret.Width = ret1.Right; } if (ret1.Bottom > ret.Height) { ret.Height = ret1.Bottom; } } ret.Width += jobclip.Margin_L + jobclip.Margin_R; ret.Height += jobclip.Margin_B + jobclip.Margin_T; return(ret); } else { // int ResolutionX = PrtFileInfo.sFreSetting.nResolutionX*PrtFileInfo.sImageInfo.nImageResolutionX; // int ResolutionY = PrtFileInfo.sFreSetting.nResolutionY*PrtFileInfo.sImageInfo.nImageResolutionY; // if(ResolutionX == 0 || ResolutionY == 0) // { // return Rectangle.Empty; // } int width = jobclip.ClipRect.Width; // / ResolutionX; int height = jobclip.ClipRect.Height; // / ResolutionY; if (text != null && text != string.Empty) { Size notesize = this.getNoteSize(width, text, this.GetNoteFont(), false); //0:left;1:top;2:right;3:bottom if (this.NotePosition == 0 || this.NotePosition == 2) { width += notesize.Height + jobclip.NoteMargin; } else { height += notesize.Height + jobclip.NoteMargin; } } if (jobclip.Left + width > ret.Width) { ret.Width = jobclip.Margin_L + jobclip.Margin_R + width; } if (jobclip.Top + height > ret.Height) { ret.Height = jobclip.Margin_B + jobclip.Margin_T + height; } return(ret); } } else { ret = new Rectangle(0, 0, 0, 0); // int ResolutionX = PrtFileInfo.sFreSetting.nResolutionX*PrtFileInfo.sImageInfo.nImageResolutionX; // int ResolutionY = PrtFileInfo.sFreSetting.nResolutionY*PrtFileInfo.sImageInfo.nImageResolutionY; // if(ResolutionX == 0 || ResolutionY == 0) // { // return Rectangle.Empty; // } int width = jobclip.ClipRect.Width; // / ResolutionX; int height = jobclip.ClipRect.Height; // / ResolutionY; if (noClip) { width = jobclip.PrtFileInfo.sImageInfo.nImageWidth; height = jobclip.PrtFileInfo.sImageInfo.nImageHeight; } if (IsNktTreeTileMode) { width = width * jobclip.XCnt + jobclip.XDis + jobclip.XDis2 + jobclip.XAddtion; } else { width = width * jobclip.XCnt + jobclip.XDis * (jobclip.XCnt - 1) + jobclip.XAddtion; } height = height * jobclip.YCnt + jobclip.YDis * (jobclip.YCnt - 1) + jobclip.YAddtion; if (text != null && text != string.Empty) { Size notesize = this.getNoteSize(width, text, this.GetNoteFont(), false); //0:left;1:top;2:right;3:bottom if (this.NotePosition == 0 || this.NotePosition == 2) { width += notesize.Height + jobclip.NoteMargin; } else { height += notesize.Height + jobclip.NoteMargin; } } ret.Width = jobclip.Margin_L + jobclip.Margin_R + width; ret.Height = jobclip.Margin_B + jobclip.Margin_T + height; this.W = ret.Width; this.H = ret.Height; return(ret); } }
private string GetRealNoteText(JobClip jobclip, SPrinterSetting?ss = null, bool bGetBound = false) { if (!string.IsNullOrEmpty(realNoteText)) { return(realNoteText); } string text = string.Empty; if (jobclip.AddtionInfoMask != 0) { int resolutionX = jobclip.PrtFileInfo.sFreSetting.nResolutionX * jobclip.PrtFileInfo.sImageInfo.nImageResolutionX; int resolutionY = jobclip.PrtFileInfo.sFreSetting.nResolutionY * jobclip.PrtFileInfo.sImageInfo.nImageResolutionY; if ((jobclip.AddtionInfoMask & 0x00001) > 0) //JobSize { UILengthUnit unit = UILengthUnit.Centimeter; //将图片尺寸单位改为厘米 string unitStr = ResString.GetUnitSuffixDispName(unit); float width = 0; float height = 0; if (bGetBound) { width = (float)jobclip.PrtFileInfo.sImageInfo.nImageWidth / (float)(jobclip.PrtFileInfo.sFreSetting.nResolutionX); height = (float)jobclip.PrtFileInfo.sImageInfo.nImageHeight / (float)(jobclip.PrtFileInfo.sFreSetting.nResolutionY); } else { width = (float)JobSize.Width / (float)resolutionX; height = (float)JobSize.Height / (float)resolutionY; } string strSize = string.Format("{0}x{1} {2}", UIPreference.ToDisplayLength(unit, width).ToString("f1"), UIPreference.ToDisplayLength(unit, height).ToString("f1"), unitStr); text += "\n" + strSize; } if ((jobclip.AddtionInfoMask & 0x00010) > 0) //Resolution { string strRes = string.Format("{0}x{1}", (resolutionX), (resolutionY)); text += "\n" + strRes; } if ((jobclip.AddtionInfoMask & 0x00100) > 0) //PassNum { string strPass = string.Format("{0} {1}", jobclip.PrtFileInfo.sFreSetting.nPass, ResString.GetDisplayPass()); if (ss.HasValue) { strPass = string.Format("{0} {1}", ss.Value.sFrequencySetting.nPass, ResString.GetDisplayPass()); } text += "\n" + strPass; } if ((jobclip.AddtionInfoMask & 0x01000) > 0) //Direction { string strDir = ResString.GetEnumDisplayName(typeof(PrintDirection), (PrintDirection)jobclip.PrtFileInfo.sFreSetting.nBidirection); if (ss.HasValue) { strDir = ResString.GetEnumDisplayName(typeof(PrintDirection), (PrintDirection)ss.Value.sFrequencySetting.nBidirection); } text += "\n" + strDir; } if ((jobclip.AddtionInfoMask & 0x10000) > 0) //Filepath { text += "\n" + jobclip.src; } if ((jobclip.AddtionInfoMask & 0x100000) > 0) //Voltage&pluseWidth { text += GetRealtimeInfoString(); } } if (jobclip.Note != null && jobclip.Note != string.Empty) { text += "\n" + jobclip.Note; } return(text); }