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; }
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; }