Exemplo n.º 1
0
        private Size CalculateWMSize(WaterMarkLayout Layout, Size WMSize, Size ImgSize)
        {
            Size NewSize = new Size(WMSize.Width, WMSize.Height);

            if (Layout == WaterMarkLayout.Zoom || Layout == WaterMarkLayout.Repeat)
            {
                NewSize.Width = ImgSize.Width;
                NewSize.Height = ImgSize.Height;
            }
            else
            {
                if (WMSize.Width > WMSize.Height)
                {
                    if (Layout == WaterMarkLayout.Ajust)
                    {
                        NewSize.Width = ImgSize.Width;
                        NewSize.Height = (int)(((double)ImgSize.Width / (double)WMSize.Width) * (double)WMSize.Height);
                    }
                    else if (Layout == WaterMarkLayout.Fill)
                    {
                        NewSize.Width = (int)(((double)ImgSize.Height / (double)WMSize.Height) * (double)WMSize.Width);
                        NewSize.Height = ImgSize.Height;
                    }
                }
                else
                {
                    if (Layout == WaterMarkLayout.Ajust)
                    {
                        NewSize.Width = (int)(((double)ImgSize.Height) / (double)WMSize.Height * (double)WMSize.Width);
                        NewSize.Height = ImgSize.Height;
                    }
                    else if (Layout == WaterMarkLayout.Fill)
                    {
                        NewSize.Width = ImgSize.Width;
                        NewSize.Height = (int)(((double)ImgSize.Width) / (double)WMSize.Width * (double)WMSize.Height);
                    }
                }
            }

            return NewSize;
        }
Exemplo n.º 2
0
        private Point CalculateWMPosition(WaterMarkLayout Layout, Size WMSize, Size WMOffSet, Size ImgSize)
        {
            Point position = new Point(0, 0);

            //Special Layout REPEAT
            if (Layout == WaterMarkLayout.Repeat)
            {
                return position;
            }

            //Height
            if (Layout == WaterMarkLayout.TopLeft ||
                Layout == WaterMarkLayout.TopCenter ||
                Layout == WaterMarkLayout.TopRight)
            {
                position.Y = Calculate3PointPosition(1, ImgSize.Height, WMSize.Height, WMOffSet.Height);
            }
            else if (Layout == WaterMarkLayout.MiddleLeft ||
                     Layout == WaterMarkLayout.MiddleCenter ||
                     Layout == WaterMarkLayout.MiddleRight ||
                     Layout == WaterMarkLayout.Fill ||
                     Layout == WaterMarkLayout.Ajust)
            {
                position.Y = Calculate3PointPosition(2, ImgSize.Height, WMSize.Height, WMOffSet.Height);
            }
            else if (Layout == WaterMarkLayout.BottomLeft ||
                     Layout == WaterMarkLayout.BottomCenter ||
                     Layout == WaterMarkLayout.BottomRight)
            {
                position.Y = Calculate3PointPosition(3, ImgSize.Height, WMSize.Height, WMOffSet.Height);
            }
            //Width
            if (Layout == WaterMarkLayout.TopLeft ||
                Layout == WaterMarkLayout.MiddleLeft ||
                Layout == WaterMarkLayout.BottomLeft)
            {
                position.X = Calculate3PointPosition(1, ImgSize.Width, WMSize.Width, WMOffSet.Width);
            }
            else if (Layout == WaterMarkLayout.TopCenter ||
                     Layout == WaterMarkLayout.MiddleCenter ||
                     Layout == WaterMarkLayout.BottomCenter ||
                     Layout == WaterMarkLayout.Fill ||
                     Layout == WaterMarkLayout.Ajust)
            {
                position.X = Calculate3PointPosition(2, ImgSize.Width, WMSize.Width, WMOffSet.Width);
            }
            else if (Layout == WaterMarkLayout.TopRight ||
                     Layout == WaterMarkLayout.MiddleRight ||
                     Layout == WaterMarkLayout.BottomRight)
            {
                position.X = Calculate3PointPosition(3, ImgSize.Width, WMSize.Width, WMOffSet.Width);
            }
            return position;
        }