Exemple #1
0
        private void SetPredefinedInnerShadow(ePresetExcelShadowType shadowType)
        {
            InnerShadow.Color.SetPresetColor(ePresetColor.Black);

            if (shadowType == ePresetExcelShadowType.InnerCenter)
            {
                InnerShadow.Color.Transforms.AddAlpha(0);
                InnerShadow.Direction  = 0;
                InnerShadow.Distance   = 0;
                InnerShadow.BlurRadius = 9;
            }
            else
            {
                InnerShadow.Color.Transforms.AddAlpha(50);
                InnerShadow.BlurRadius = 5;
                InnerShadow.Distance   = 4;
            }

            switch (shadowType)
            {
            case ePresetExcelShadowType.InnerTopLeft:
                InnerShadow.Direction = 225;
                break;

            case ePresetExcelShadowType.InnerTop:
                InnerShadow.Direction = 270;
                break;

            case ePresetExcelShadowType.InnerTopRight:
                InnerShadow.Direction = 315;
                break;

            case ePresetExcelShadowType.InnerLeft:
                InnerShadow.Direction = 180;
                break;

            case ePresetExcelShadowType.InnerRight:
                InnerShadow.Direction = 0;
                break;

            case ePresetExcelShadowType.InnerBottomLeft:
                InnerShadow.Direction = 135;
                break;

            case ePresetExcelShadowType.InnerBottom:
                InnerShadow.Direction = 90;
                break;

            case ePresetExcelShadowType.InnerBottomRight:
                InnerShadow.Direction = 45;
                break;
            }
        }
Exemple #2
0
        /// <summary>
        /// Set a predefined shadow matching the preset types in Excel
        /// </summary>
        /// <param name="shadowType">The preset type</param>
        public void SetPresetShadow(ePresetExcelShadowType shadowType)
        {
            InnerShadow.Delete();
            OuterShadow.Delete();
            PresetShadow.Delete();

            if (shadowType == ePresetExcelShadowType.None)
            {
                return;
            }

            if (shadowType <= ePresetExcelShadowType.InnerBottomRight)
            {
                SetPredefinedInnerShadow(shadowType);
            }
            else
            {
                SetPredefinedOuterShadow(shadowType);
            }
        }
Exemple #3
0
        private void SetPredefinedOuterShadow(ePresetExcelShadowType shadowType)
        {
            OuterShadow.Color.SetPresetColor(ePresetColor.Black);

            switch (shadowType)
            {
            case ePresetExcelShadowType.PerspectiveUpperLeft:
                OuterShadow.Color.Transforms.AddAlpha(20);
                OuterShadow.BlurRadius            = 6;
                OuterShadow.Distance              = 0;
                OuterShadow.Direction             = 225;
                OuterShadow.Alignment             = eRectangleAlignment.BottomRight;
                OuterShadow.HorizontalSkewAngle   = 20;
                OuterShadow.VerticalScalingFactor = 23;
                break;

            case ePresetExcelShadowType.PerspectiveUpperRight:
                OuterShadow.Color.Transforms.AddAlpha(20);
                OuterShadow.BlurRadius            = 6;
                OuterShadow.Distance              = 0;
                OuterShadow.Direction             = 315;
                OuterShadow.Alignment             = eRectangleAlignment.BottomLeft;
                OuterShadow.HorizontalSkewAngle   = -20;
                OuterShadow.VerticalScalingFactor = 23;
                break;

            case ePresetExcelShadowType.PerspectiveBelow:
                OuterShadow.Color.Transforms.AddAlpha(15);
                OuterShadow.BlurRadius = 12;
                OuterShadow.Distance   = 25;
                OuterShadow.Direction  = 90;
                OuterShadow.HorizontalScalingFactor = 90;
                OuterShadow.VerticalScalingFactor   = -19;
                break;

            case ePresetExcelShadowType.PerspectiveLowerLeft:
                OuterShadow.Color.Transforms.AddAlpha(20);
                OuterShadow.BlurRadius            = 6;
                OuterShadow.Distance              = 1;
                OuterShadow.Direction             = 135;
                OuterShadow.Alignment             = eRectangleAlignment.BottomRight;
                OuterShadow.HorizontalSkewAngle   = 13.34;
                OuterShadow.VerticalScalingFactor = -23;
                break;

            case ePresetExcelShadowType.PerspectiveLowerRight:
                OuterShadow.Color.Transforms.AddAlpha(20);
                OuterShadow.BlurRadius            = 6;
                OuterShadow.Distance              = 1;
                OuterShadow.Direction             = 45;
                OuterShadow.Alignment             = eRectangleAlignment.BottomLeft;
                OuterShadow.HorizontalSkewAngle   = -13.34;
                OuterShadow.VerticalScalingFactor = -23;
                break;

            case ePresetExcelShadowType.OuterCenter:
                OuterShadow.Color.Transforms.AddAlpha(40);
                OuterShadow.VerticalScalingFactor   = 102;
                OuterShadow.HorizontalScalingFactor = 102;
                OuterShadow.BlurRadius = 5;
                OuterShadow.Alignment  = eRectangleAlignment.Center;
                break;

            default:
                OuterShadow.Color.Transforms.AddAlpha(40);
                OuterShadow.BlurRadius = 4;
                OuterShadow.Distance   = 3;
                switch (shadowType)
                {
                case ePresetExcelShadowType.OuterTopLeft:
                    OuterShadow.Direction = 225;
                    OuterShadow.Alignment = eRectangleAlignment.BottomRight;
                    break;

                case ePresetExcelShadowType.OuterTop:
                    OuterShadow.Direction = 270;
                    OuterShadow.Alignment = eRectangleAlignment.Bottom;
                    break;

                case ePresetExcelShadowType.OuterTopRight:
                    OuterShadow.Direction = 315;
                    OuterShadow.Alignment = eRectangleAlignment.BottomLeft;
                    break;

                case ePresetExcelShadowType.OuterLeft:
                    OuterShadow.Direction = 180;
                    OuterShadow.Alignment = eRectangleAlignment.Right;
                    break;

                case ePresetExcelShadowType.OuterRight:
                    OuterShadow.Direction = 0;
                    OuterShadow.Alignment = eRectangleAlignment.Left;
                    break;

                case ePresetExcelShadowType.OuterBottomLeft:
                    OuterShadow.Direction = 135;
                    OuterShadow.Alignment = eRectangleAlignment.TopRight;
                    break;

                case ePresetExcelShadowType.OuterBottom:
                    OuterShadow.Direction = 90;
                    OuterShadow.Alignment = eRectangleAlignment.Top;
                    break;

                case ePresetExcelShadowType.OuterBottomRight:
                    OuterShadow.Direction = 45;
                    OuterShadow.Alignment = eRectangleAlignment.TopLeft;
                    break;
                }
                break;
            }

            OuterShadow.RotateWithShape = false;
        }
Exemple #4
0
        private static void AddPresetShadowShape(ExcelWorksheet ws, int row, int col, ePresetExcelShadowType preset)
        {
            var shape = AddShape(ws, row, col, preset.ToString());

            shape.Effect.SetPresetShadow(preset);
        }