Example #1
0
        /// <summary>
        /// Apply effects image to this instance.
        /// </summary>
        /// <param name="effects">the dimensions to fit</param>
        /// <returns>
        /// Returns this instance with effects.
        /// </returns>
        public PdfImage ApplyEffects(EffectType[] effects)
        {
            if (this.Equals(PdfImage.Null))
            {
                return(this);
            }

            if (Image == null)
            {
                return(this);
            }

            NativeImage image =
                Configuration.Effects == null
                    ? NativeImage.FromStream(OriginalImage.AsStream())
                    : NativeImage.FromStream(OriginalImage.ApplyEffects(Configuration.Effects).AsStream());

            ProcessedImage = (NativeImage)image.ApplyEffects(effects).Clone();
            Image          = NativePdfImage.GetInstance(ProcessedImage.AsStream());

            return(this);
        }