/// <summary> /// Adds image watermark to an image. /// </summary> /// <param name="watermarkImage">Image to use as a watermark.</param> /// <param name="width">Width of watermark.</param> /// <param name="height">Height of watermark.</param> /// <param name="horizontalAlign">Horizontal alignment for watermark image. Can be "right", "left", or "center".</param> /// <param name="verticalAlign">Vertical alignment for watermark image. Can be "top", "bottom", or "middle".</param> /// <param name="opacity">Watermark text opacity. Should be between 0 and 100.</param> /// <param name="padding">Size of padding around watermark image in pixels.</param> /// <returns>Modified WebImage instance with added watermark.</returns> public WebImage AddImageWatermark( WebImage watermarkImage, int width = 0, int height = 0, string horizontalAlign = "Right", string verticalAlign = "Bottom", int opacity = 100, int padding = 5) { if (watermarkImage == null) { throw new ArgumentNullException("watermarkImage"); } if (width < 0) { throw new ArgumentOutOfRangeException( "width", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } if (height < 0) { throw new ArgumentOutOfRangeException( "height", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } if (((width == 0) && (height > 0)) || ((width > 0) && (height == 0))) { throw new ArgumentException(HelpersResources.WebImage_IncorrectWidthAndHeight); } if ((opacity < 0) || (opacity > 100)) { throw new ArgumentOutOfRangeException("opacity", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_Between, 0, 100)); } HorizontalAlign horizontalAlignEnum = ParseHorizontalAlign(horizontalAlign); VerticalAlign verticalAlignEnum = ParseVerticalAlign(verticalAlign); if (padding < 0) { throw new ArgumentOutOfRangeException( "padding", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } WatermarkImageTransformation transformation = new WatermarkImageTransformation(watermarkImage.Clone(), width, height, horizontalAlignEnum, verticalAlignEnum, opacity, padding); _transformations.Add(transformation); return(this); }
/// <summary> /// Adds image watermark to an image. /// </summary> /// <param name="watermarkImage">Image to use as a watermark.</param> /// <param name="width">Width of watermark.</param> /// <param name="height">Height of watermark.</param> /// <param name="horizontalAlign">Horizontal alignment for watermark image. Can be "right", "left", or "center".</param> /// <param name="verticalAlign">Vertical alignment for watermark image. Can be "top", "bottom", or "middle".</param> /// <param name="opacity">Watermark text opacity. Should be between 0 and 100.</param> /// <param name="padding">Size of padding around watermark image in pixels.</param> /// <returns>Modified WebImage instance with added watermark.</returns> public WebImage AddImageWatermark( WebImage watermarkImage, int width = 0, int height = 0, string horizontalAlign = "Right", string verticalAlign = "Bottom", int opacity = 100, int padding = 5) { if (watermarkImage == null) { throw new ArgumentNullException("watermarkImage"); } if (width < 0) { throw new ArgumentOutOfRangeException( "width", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } if (height < 0) { throw new ArgumentOutOfRangeException( "height", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } if (((width == 0) && (height > 0)) || ((width > 0) && (height == 0))) { throw new ArgumentException(HelpersResources.WebImage_IncorrectWidthAndHeight); } if ((opacity < 0) || (opacity > 100)) { throw new ArgumentOutOfRangeException("opacity", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_Between, 0, 100)); } HorizontalAlign horizontalAlignEnum = ParseHorizontalAlign(horizontalAlign); VerticalAlign verticalAlignEnum = ParseVerticalAlign(verticalAlign); if (padding < 0) { throw new ArgumentOutOfRangeException( "padding", String.Format(CultureInfo.InvariantCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } WatermarkImageTransformation transformation = new WatermarkImageTransformation(watermarkImage.Clone(), width, height, horizontalAlignEnum, verticalAlignEnum, opacity, padding); _transformations.Add(transformation); return this; }