// =========================================================================== public override void Write(Stream stream) { // step 1 using (Document document = new Document()) { // step 2 PdfWriter writer = PdfWriter.GetInstance(document, stream); // step 3 document.Open(); // step 4 PdfContentByte canvas = writer.DirectContent; PdfShading axial = PdfShading.SimpleAxial(writer, 36, 716, 396, 788, BaseColor.ORANGE, BaseColor.BLUE ); canvas.PaintShading(axial); document.NewPage(); PdfShading radial = PdfShading.SimpleRadial(writer, 200, 700, 50, 300, 700, 100, new BaseColor(0xFF, 0xF7, 0x94), new BaseColor(0xF7, 0x8A, 0x6B), false, false ); canvas.PaintShading(radial); PdfShadingPattern shading = new PdfShadingPattern(axial); ColorRectangle(canvas, new ShadingColor(shading), 150, 420, 126, 126); canvas.SetShadingFill(shading); canvas.Rectangle(300, 420, 126, 126); canvas.FillStroke(); } }
// --------------------------------------------------------------------------- /** * Prints a square and fills half of it with a gray rectangle. * * @param x * @param y * @param cb * @throws Exception */ public static void PictureBackdrop(float x, float y, PdfContentByte cb, PdfWriter writer) { PdfShading axial = PdfShading.SimpleAxial(writer, x, y, x + 200, y, BaseColor.YELLOW, BaseColor.RED ); PdfShadingPattern axialPattern = new PdfShadingPattern(axial); cb.SetShadingFill(axialPattern); cb.SetColorStroke(BaseColor.BLACK); cb.SetLineWidth(2); cb.Rectangle(x, y, 200, 200); cb.FillStroke(); }
/// <summary> /// Draws a rectangular gradient background color. /// </summary> /// <param name="position">The coordinates of the cell</param> /// <param name="canvases">An array of PdfContentByte to add text or graphics</param> /// <param name="startColor">Gradient's Start Color</param> /// <param name="endColor">Gradient's End Color</param> public static void DrawGradientBackground(this Rectangle position, PdfContentByte[] canvases, BaseColor startColor, BaseColor endColor) { if (startColor == null || endColor == null) return; var cb = canvases[PdfPTable.BACKGROUNDCANVAS]; cb.SaveState(); var shading = PdfShading.SimpleAxial( cb.PdfWriter, position.Left, position.Top, position.Left, position.Bottom, startColor, endColor); var shadingPattern = new PdfShadingPattern(shading); cb.SetShadingFill(shadingPattern); cb.Rectangle(position.Left, position.Bottom, position.Width, position.Height); cb.Fill(); cb.RestoreState(); }
internal void AddSimpleShadingPattern(PdfShadingPattern shading) { if (!documentShadingPatterns.ContainsKey(shading)) { shading.Name = patternNumber; ++patternNumber; documentShadingPatterns[shading] = null; AddSimpleShading(shading.Shading); } }
/** * Sets the shading stroke pattern * @param shading the shading pattern */ public virtual void SetShadingStroke(PdfShadingPattern shading) { writer.AddSimpleShadingPattern(shading); PageResources prs = PageResources; PdfName name = prs.AddPattern(shading.PatternName, shading.PatternReference); content.Append(PdfName.PATTERN.GetBytes()).Append(" CS ").Append(name.GetBytes()).Append(" SCN").Append_i(separator); ColorDetails details = shading.ColorDetails; if (details != null) prs.AddColor(details.ColorName, details.IndirectReference); }
/** * Paints using a shading pattern. * @param shading the shading pattern */ public virtual void PaintShading(PdfShadingPattern shading) { PaintShading(shading.Shading); }
/** * Sets the shading fill pattern. * @param shading the shading pattern */ public virtual void SetShadingFill(PdfShadingPattern shading) { writer.AddSimpleShadingPattern(shading); PageResources prs = PageResources; PdfName name = prs.AddPattern(shading.PatternName, shading.PatternReference); SaveColor(new ShadingColor(shading), true); content.Append(PdfName.PATTERN.GetBytes()).Append(" cs ").Append(name.GetBytes()).Append(" scn").Append_i(separator); ColorDetails details = shading.ColorDetails; if (details != null) prs.AddColor(details.ColorSpaceName, details.IndirectReference); }
public ShadingColor(PdfShadingPattern shadingPattern) : base(TYPE_SHADING, .5f, .5f, .5f) { this.shadingPattern = shadingPattern; }
public ShadingColor(PdfShadingPattern shadingPattern) : base(TYPE_SHADING, .5f, .5f, .5f) { this.shadingPattern = shadingPattern; }