FillOverlayEffect.cs
- //
- // This code is part of Document Solutions for Word demos.
- // Copyright (c) MESCIUS inc. All rights reserved.
- //
- using System;
- using System.IO;
- using System.Drawing;
- using System.Collections.Generic;
- using System.Linq;
- using GrapeCity.Documents.Word;
-
- namespace DsWordWeb.Demos
- {
- // This example shows how to add fill overlay effect to shapes in a DOCX.
- public class FillOverlayEffect
- {
- public GcWordDocument CreateDocx()
- {
- var doc = new GcWordDocument();
-
- // Shape fill overlay - direct:
- var p = doc.Body.Paragraphs.Add();
- var run = p.GetRange().Runs.Add();
- var shape = run.GetRange().Shapes.Add(100, 100, GeometryType.Star8);
- shape.Fill.Type = FillType.Solid;
- shape.Fill.SolidFill.RGB = Color.LightBlue;
- // Apply solid fill overlay with another color to mix with the main fill:
- FillOverlay overlay = shape.Effects.FillOverlay;
- overlay.BlendMode = BlendMode.Multiply;
- overlay.Fill.Type = FillType.Solid;
- overlay.Fill.SolidFill.RGB = Color.Yellow;
- p.GetRange().Runs.Add("Shape fill overlay - direct.", doc.Styles[BuiltInStyleId.Strong]);
-
- // Shape FillOverlay - style effects, fixed color:
- p = doc.Body.Paragraphs.Add();
- p.Style.ParagraphFormat.Spacing.SpaceBefore = 30;
- run = p.GetRange().Runs.Add();
- shape = run.GetRange().Shapes.Add(100, 100, GeometryType.Star8);
- shape.Fill.Type = FillType.Solid;
- shape.Fill.SolidFill.RGB = Color.LightBlue;
- // apply solid fill overlay with another color to mix with the main fill
- var fmtEffect = doc.Theme.FormatScheme.Effects.Add();
- overlay = fmtEffect.FillOverlay;
- overlay.BlendMode = BlendMode.Multiply;
- overlay.Fill.Type = FillType.Solid;
- overlay.Fill.SolidFill.RGB = Color.Yellow;
- shape.Style.Effects.ThemeEffects = fmtEffect;
- p.GetRange().Runs.Add("Shape FillOverlay - style effects, fixed color.", doc.Styles[BuiltInStyleId.Strong]);
-
- // Shape FillOverlay - style effects, fixed and placeholder color usage, pattern color
- // (BackColor uses fixed color, ForeColor uses placeholder color):
- p = doc.Body.Paragraphs.Add();
- p.Style.ParagraphFormat.Spacing.SpaceBefore = 30;
- run = p.GetRange().Runs.Add();
- shape = run.GetRange().Shapes.Add(100, 100, GeometryType.Star8);
- shape.Fill.Type = FillType.Solid;
- shape.Fill.SolidFill.RGB = Color.LightBlue;
- // Apply pattern fill overlay with another color to mix with the main fill:
- fmtEffect = doc.Theme.FormatScheme.Effects.Add();
- overlay = fmtEffect.FillOverlay;
- overlay.BlendMode = BlendMode.Multiply;
- //
- var foFill = overlay.Fill;
- foFill.Type = FillType.Pattern;
- foFill.PatternFill.Type = PatternFillType.DashedHorizontal;
- foFill.PatternFill.ForeColor.ThemeColor = ThemeColorId.None;
- foFill.PatternFill.BackColor.ThemeColor = ThemeColorId.Accent6;
- //
- shape.Style.Effects.PlaceholderColor.ThemeColor = ThemeColorId.Accent3;
- shape.Style.Effects.PlaceholderColor.Transparency = 0.6f;
- shape.Style.Effects.ThemeEffects = fmtEffect;
- p.GetRange().Runs.Add("Shape FillOverlay - style effects, fixed and placeholder color usage, pattern color.", doc.Styles[BuiltInStyleId.Strong]);
-
- // Done:
- return doc;
- }
- }
- }
-