Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
        }