示例#1
0
 /// <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;
         }
     }
 }
示例#2
0
        private static void AddPresetReflectionShape(ExcelWorksheet ws, int row, int col, ePresetExcelReflectionType preset)
        {
            var shape = AddShape(ws, row, col, preset.ToString());

            shape.Effect.SetPresetReflection(preset);
        }