public override Color GetColor(IList <PdfDirectObject> components, IContentContext context) { //TODO Pattern pattern = context.Resources.Patterns[(PdfName)components[components.Count - 1]]; if (pattern is TilingPattern) { TilingPattern tilingPattern = (TilingPattern)pattern; if (tilingPattern.PaintType == TilingPattern.PaintTypeEnum.Uncolored) { ColorSpace underlyingColorSpace = UnderlyingColorSpace; if (underlyingColorSpace == null) { throw new ArgumentException("Uncolored tiling patterns not supported by this color space because no underlying color space has been defined."); } // Get the color to be used for colorizing the uncolored tiling pattern! Color color = underlyingColorSpace.GetColor(components, context); // Colorize the uncolored tiling pattern! pattern = tilingPattern.Colorize(color); } } return(pattern); }
internal Colorized(TilingPattern uncoloredPattern, Color color) : base((PatternColorSpace)uncoloredPattern.ColorSpace, uncoloredPattern.BaseObject) { this.color = color; }