a:reflection (Reflection Effect)
Specifies a reflection effect that creates a mirror image of a shape below it, simulating reflection in a surface.
Parent elements
Description
a:reflection is the DrawingML reflection effect element that creates a mirror-image reflection below a shape. It is defined in ECMA-376 Part 1 §20.1.8.9.
Reflection effects simulate the appearance of objects reflected in water or polished surfaces by:
- Creating a mirrored copy below the shape
- Gradually fading the reflection using alpha values
- Controlling blur, scaling, and alignment of the reflected image
- Adding professional, sophisticated visual effects
Reflection effects are commonly used for:
- Title text and headings in presentations
- Product images in marketing materials
- Logo designs
- Creating glossy, polished appearances
Attributes
| Attribute | Type | Possible Values | Description |
|---|---|---|---|
blurRad |
integer | 0-2147483647 | Blur radius of reflection in EMUs. |
dist |
integer | 0-2147483647 | Distance from shape to reflection in EMUs. |
dir |
integer | 0-21600000 | Direction of reflection (typically 0 or 2700000). |
fade |
boolean | true, false | Fade reflection transparency gradually. |
rotWithShape |
boolean | true, false | Rotate reflection with shape. |
algn |
string | tl, t, tr, l, ctr, r, bl, b, br | Reflection alignment. |
sx |
integer | -100000-100000 | Horizontal scaling percentage. |
sy |
integer | -100000-100000 | Vertical scaling percentage. |
Examples
Basic Reflection Below Shape
<a:effectLst>
<a:reflection blurRad="50800" dist="38100" dir="0" fade="1" algn="b" sx="100000" sy="-50000">
</a:reflection>
</a:effectLst>
using DocumentFormat.OpenXml.Drawing;
var effectLst = new EffectList();
var reflection = new Reflection
{
BlurRadius = 50800, // ~0.055 inch blur
Distance = 38100, // ~0.042 inch from shape
Direction = 0, // 0 degrees
Fade = true, // Fade transparency
Alignment = RectangleAlignmentValues.Bottom,
ScaleX = 100000, // 100% width
ScaleY = -50000 // -50% height (flip)
};
effectLst.Append(reflection);
Strong Polished Reflection
<a:reflection blurRad="76200" dist="76200" dir="2700000" fade="1" rotWithShape="1" sx="100000" sy="-40000">
</a:reflection>
var reflection = new Reflection
{
BlurRadius = 76200,
Distance = 76200,
Direction = 2700000, // 270 degrees
Fade = true,
RotateWithShape = true,
ScaleX = 100000,
ScaleY = -40000 // Smaller reflection height
};
Notes
- Scale values: 100000 = 100%, negative values flip the image
- Direction: 0°=right/bottom, 2700000=left/bottom
- Fade=true creates gradient transparency effect
- Reflections are positioned below shapes by default
- Blur radius should be 50800-152400 for best results
- ScaleY typically negative to flip reflection vertically
- Multiple effects can be combined (reflection + glow, etc.)