How to Add Reflection Effect to Text
A reflection effect on text is a visual enhancement that creates a mirror-like image of the text below its original form. This effect simulates the reflection of the text on a surface, often adding depth and realism to the design.
Get started with IronWord
Start using IronWord in your project today with a free trial.
How to Add Reflection Effect to Text
- Download a C# library to add a reflection to text.
- Apply the text effect to either newly created or existing text.
- Apply a preset reflection effect by instantiating the Reflection class.
- Configure the Reflection properties to achieve a customized text outline.
- Export the edited Word document as a new file.
Add Reflection Effect
To specify the reflection effect for the text, create the TextStyle
object and populate the ReflectionEffect
property with a Reflection
object. Finally, add new text with the style by assigning the TextStyle
object to the TextEffect
property.
:path=/static-assets/word/content-code-examples/how-to/text-effect-reflection-effect.cs
using IronWord;
using IronWord.Models;
// Create new Word document
WordDocument doc = new WordDocument();
// Create and configure text style
TextStyle textStyle = new TextStyle();
textStyle.TextEffect = new TextEffect()
{
ReflectionEffect = new Reflection(),
};
// Add text with style
doc.AddText("Hello World").Style = textStyle;
// Export new Word document
doc.SaveAs("reflectionEffect.docx");
Imports IronWord
Imports IronWord.Models
' Create new Word document
Private doc As New WordDocument()
' Create and configure text style
Private textStyle As New TextStyle()
textStyle.TextEffect = New TextEffect() With {.ReflectionEffect = New Reflection()}
' Add text with style
doc.AddText("Hello World").Style = textStyle
' Export new Word document
doc.SaveAs("reflectionEffect.docx")

Reflection Effect Properties
The reflection effect provides a range of adjustable attributes to meet diverse design requirements. See the following list for detailed descriptions of each property:
SchemeColor
: Gets or sets the scheme color of the reflection effect.HorizontalSkewAngle
: Gets or sets the horizontal skew angle of the reflection effect. The skew angle is specified in degrees.HorizontalScalingFactor
: Gets or sets the horizontal scaling factor of the reflection effect.DistanceFromText
: Gets or sets the distance of the reflection effect from the text or object. The distance is specified in points (1/72 inch).DirectionAngle
: Gets or sets the direction angle of the reflection effect. The direction angle is specified in degrees.FadeDirectionAngle
: Gets or sets the fade direction of the reflection effect.EndPosition
: Gets or sets the ending position of the reflection effect.StartPosition
: Gets or sets the starting position of the reflection effect.EndingOpacity
: Gets or sets the ending opacity of the reflection effect.VerticalScalingFactor
: Gets or sets the vertical scaling factor of the reflection effect.StartingOpacity
: Gets or sets the starting opacity of the reflection effect.Alignment
: Gets or sets the alignment of the reflection effect.BlurRadius
: Gets or sets the blur radius of the reflection effect. The blur radius is specified in points (1/72 inch).VerticalSkewAngle
: Gets or sets the vertical skew angle of the reflection effect. The skew angle is specified in degrees.
:path=/static-assets/word/content-code-examples/how-to/text-effect-customized-reflection-effect.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
// Create new Word document
WordDocument doc = new WordDocument();
// Create and configure text style
TextStyle textStyle = new TextStyle();
textStyle.TextEffect = new TextEffect()
{
ReflectionEffect = new Reflection()
{
Alignment = RectangleAlignmentValues.BottomLeft,
BlurRadius = 5,
DirectionAngle = 90,
DistanceFromText = 5,
EndingOpacity = 100,
EndPosition = 10,
FadeDirectionAngle = 90,
HorizontalScalingFactor = 100,
HorizontalSkewAngle = 0,
SchemeColor = IronWord.Models.Color.Gold,
StartingOpacity = 0,
StartPosition = 0,
VerticalScalingFactor = -100,
VerticalSkewAngle = 0,
},
};
// Add text with style
doc.AddText("Customized reflection").Style = textStyle;
// Export new Word document
doc.SaveAs("customizedReflectionEffect.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
' Create new Word document
Private doc As New WordDocument()
' Create and configure text style
Private textStyle As New TextStyle()
textStyle.TextEffect = New TextEffect() With {
.ReflectionEffect = New Reflection() With {
.Alignment = RectangleAlignmentValues.BottomLeft,
.BlurRadius = 5,
.DirectionAngle = 90,
.DistanceFromText = 5,
.EndingOpacity = 100,
.EndPosition = 10,
.FadeDirectionAngle = 90,
.HorizontalScalingFactor = 100,
.HorizontalSkewAngle = 0,
.SchemeColor = IronWord.Models.Color.Gold,
.StartingOpacity = 0,
.StartPosition = 0,
.VerticalScalingFactor = -100,
.VerticalSkewAngle = 0
}
}
' Add text with style
doc.AddText("Customized reflection").Style = textStyle
' Export new Word document
doc.SaveAs("customizedReflectionEffect.docx")

Frequently Asked Questions
How can I add a reflection effect to text in a Word document using C#?
You can add a reflection effect to text in a Word document using C# by downloading the IronWord library. Start by creating a `TextStyle` object, populate its `ReflectionEffect` property with a `Reflection` object, and customize the properties to your liking. Finally, export the Word document with the reflection effect applied.
What properties can be adjusted for a reflection effect in IronWord?
In IronWord, you can adjust properties such as `SchemeColor`, `HorizontalSkewAngle`, `HorizontalScalingFactor`, `DistanceFromText`, `DirectionAngle`, `FadeDirectionAngle`, `EndPosition`, `StartPosition`, `EndingOpacity`, `VerticalScalingFactor`, `StartingOpacity`, `Alignment`, `BlurRadius`, and `VerticalSkewAngle` to customize the reflection effect.
How do I customize the distance of the reflection effect from the text?
In IronWord, use the `DistanceFromText` property to set the distance of the reflection effect from the text. This distance is specified in points (1/72 inch), allowing you to control how far the reflection appears from the original text.
Can I adjust the opacity of the reflection effect in IronWord?
Yes, the opacity of the reflection effect in IronWord can be customized using the `StartingOpacity` and `EndingOpacity` properties. These allow you to define how transparent the reflection starts and ends, giving you control over its visual presence.
What is the purpose of the `HorizontalSkewAngle` in a reflection effect?
The `HorizontalSkewAngle` property in IronWord sets the horizontal skew angle of the reflection effect. Specified in degrees, this property alters the appearance of the reflection by skewing it horizontally.
How do I start adding a reflection effect to text in C#?
Begin by downloading the IronWord library. Create a `TextStyle` object and populate the `ReflectionEffect` property with a `Reflection` object. Use the available properties to customize the effect and apply it to your text.
Is it possible to adjust the blur of a reflection effect in IronWord?
Yes, you can adjust the blur of a reflection effect in IronWord by setting the `BlurRadius` property. This value is specified in points (1/72 inch), allowing you to control the softness of the reflection.