/// <summary> /// Set a predefined glow matching the preset types in Excel /// </summary> /// <param name="reflectionType">The preset type</param> public void SetPresetReflection(ePresetExcelReflectionType reflectionType) { Reflection.Delete(); if (reflectionType == ePresetExcelReflectionType.TightTouching || reflectionType == ePresetExcelReflectionType.Tight4Pt || reflectionType == ePresetExcelReflectionType.Tight8Pt) { Reflection.Alignment = eRectangleAlignment.BottomLeft; Reflection.RotateWithShape = false; Reflection.Direction = 90; Reflection.VerticalScalingFactor = -100; Reflection.BlurRadius = 0.5; if (reflectionType == ePresetExcelReflectionType.TightTouching) { Reflection.EndPosition = 35; Reflection.StartOpacity = 52; Reflection.EndOpacity = 0.3; Reflection.Distance = 0; } else if (reflectionType == ePresetExcelReflectionType.Tight4Pt) { Reflection.EndPosition = 38.5; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.3; Reflection.Distance = 4; } else if (reflectionType == ePresetExcelReflectionType.Tight8Pt) { Reflection.EndPosition = 40; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.275; Reflection.Distance = 8; } } else if (reflectionType == ePresetExcelReflectionType.HalfTouching || reflectionType == ePresetExcelReflectionType.Half4Pt || reflectionType == ePresetExcelReflectionType.Half8Pt) { Reflection.Alignment = eRectangleAlignment.BottomLeft; Reflection.RotateWithShape = false; Reflection.Direction = 90; Reflection.VerticalScalingFactor = -100; Reflection.BlurRadius = 0.5; if (reflectionType == ePresetExcelReflectionType.HalfTouching) { Reflection.EndPosition = 55; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.3; Reflection.Distance = 0; } else if (reflectionType == ePresetExcelReflectionType.Half4Pt) { Reflection.EndPosition = 55.5; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.300; Reflection.Distance = 4; } else if (reflectionType == ePresetExcelReflectionType.Half8Pt) { Reflection.EndPosition = 55.5; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.300; Reflection.Distance = 8; } } else if (reflectionType == ePresetExcelReflectionType.FullTouching || reflectionType == ePresetExcelReflectionType.Full4Pt || reflectionType == ePresetExcelReflectionType.Full8Pt) { Reflection.Alignment = eRectangleAlignment.BottomLeft; Reflection.RotateWithShape = false; Reflection.Direction = 90; Reflection.VerticalScalingFactor = -100; Reflection.BlurRadius = 0.5; if (reflectionType == ePresetExcelReflectionType.FullTouching) { Reflection.EndPosition = 90; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.3; Reflection.Distance = 0; } else if (reflectionType == ePresetExcelReflectionType.Full4Pt) { Reflection.EndPosition = 90; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.300; Reflection.Distance = 4; } else if (reflectionType == ePresetExcelReflectionType.Full8Pt) { Reflection.EndPosition = 92; Reflection.StartOpacity = 50; Reflection.EndOpacity = 0.295; Reflection.Distance = 8; } } }
private static void AddPresetReflectionShape(ExcelWorksheet ws, int row, int col, ePresetExcelReflectionType preset) { var shape = AddShape(ws, row, col, preset.ToString()); shape.Effect.SetPresetReflection(preset); }