示例#1
0
        protected void FitSizeToTemplateWidth(ILayout layout, float width, float height)
        {
            IElement[] dfs = layout.QueryElements((e) => { return(e is IDataFrame); });
            if (dfs == null || dfs.Length == 0)
            {
                return;
            }
            IDataFrame df = (dfs[0] as IDataFrame);

            if (df.Size.Width == width && df.Size.Height == height)
            {
                return;
            }
            float dfNewW  = df.Size.Width;
            float sc      = width / dfNewW;
            float dfNewH  = height / sc;
            float yOffset = dfNewH - df.Size.Height;

            df.IsLocked = false;
            df.ApplySize(0f, yOffset);
            df.IsLocked = true;
            layout.Size = new System.Drawing.SizeF(layout.Size.Width, layout.Size.Height + yOffset);
            List <IElement> eles = layout.Elements;

            for (int i = 0; i < eles.Count; i++)
            {
                if (eles[i].Name == "标题" ||
                    eles[i].Name.Contains("Time") ||
                    eles[i].Name.Contains("Date"))
                {
                    continue;
                }
                if (eles[i] is IBorder ||
                    eles[i] is IDataFrame)
                {
                    continue;
                }
                if (eles[i] is ISizableElement)
                {
                    (eles[i] as ISizableElement).ApplyLocation(0f, yOffset);
                }
            }
        }
示例#2
0
        /// <summary>
        /// 适用于原始分辨率
        /// </summary>
        /// <param name="temp"></param>
        /// <param name="width"></param>
        /// <param name="height"></param>
        private void FitSizeToBmp(ILayoutTemplate temp, int width, int height)
        {
            ILayout layout = temp.Layout;

            IElement[] dfs = layout.QueryElements((e) => { return(e is IDataFrame); });
            IDataFrame df  = (dfs[0] as IDataFrame);

            if (df.Size.Width == width && df.Size.Height == height)
            {
                return;
            }
            float wP = width - df.Size.Width;
            float hP = height - df.Size.Height;

            df.IsLocked = false;
            df.ApplySize(wP, hP);
            df.IsLocked = true;
            layout.Size = new System.Drawing.SizeF(layout.Size.Width + wP, layout.Size.Height + hP);
            IBorder border = layout.GetBorder();
        }
示例#3
0
        private void ChangeTemplateSize(ILayout layout, int width, int height)
        {
            IElement[] dfs = layout.QueryElements((e) => { return(e is IDataFrame); });
            if (dfs == null || dfs.Length == 0)
            {
                return;
            }
            IDataFrame df = (dfs[0] as IDataFrame);

            if (df.Size.Width == width && df.Size.Height == height)
            {
                return;
            }
            float yOffset = height - df.Size.Height;
            float xOffset = width - df.Size.Width;

            df.IsLocked = false;
            df.ApplySize(xOffset, yOffset);
            df.IsLocked = true;
            layout.Size = new System.Drawing.SizeF(width, height);
            List <IElement> eles = layout.Elements;

            for (int i = 0; i < eles.Count; i++)
            {
                if (eles[i].Name == "标题" ||
                    eles[i].Name.Contains("Time") ||
                    eles[i].Name.Contains("Date"))
                {
                    continue;
                }
                if (eles[i] is IBorder ||
                    eles[i] is IDataFrame)
                {
                    continue;
                }
                if (eles[i] is ISizableElement)
                {
                    (eles[i] as ISizableElement).ApplyLocation(xOffset, yOffset);
                }
            }
        }