public PowerPoint.Shape ApplyRectBannerEffect(BannerDirection direction, Position textPos, PowerPoint.Shape imageShape, string overlayColor, int transparency) { var tbInfo = new TextBoxes(Shapes.Range(), SlideWidth, SlideHeight) .GetTextBoxesInfo(); if (tbInfo == null) return null; TextBoxes.AddMargin(tbInfo); PowerPoint.Shape overlayShape; direction = HandleAutoDirection(direction, textPos); switch (direction) { case BannerDirection.Horizontal: overlayShape = ApplyOverlayEffect(overlayColor, transparency, 0, tbInfo.Top, SlideWidth, tbInfo.Height); break; // case BannerDirection.Vertical: default: overlayShape = ApplyOverlayEffect(overlayColor, transparency, tbInfo.Left, 0, tbInfo.Width, SlideHeight); break; } ChangeName(overlayShape, EffectName.Banner); overlayShape.ZOrder(MsoZOrderCmd.msoSendToBack); if (imageShape != null) { imageShape.ZOrder(MsoZOrderCmd.msoSendToBack); } return overlayShape; }
public PowerPoint.Shape ApplyRectOutlineEffect(PowerPoint.Shape imageShape, string overlayColor, int transparency) { var tbInfo = new TextBoxes(Shapes.Range(), SlideWidth, SlideHeight) .GetTextBoxesInfo(); if (tbInfo == null) return null; TextBoxes.AddMargin(tbInfo, 10); var overlayShape = ApplyOverlayEffect(overlayColor, transparency, tbInfo.Left, tbInfo.Top, tbInfo.Width, tbInfo.Height); overlayShape.Fill.Visible = MsoTriState.msoFalse; overlayShape.Line.Visible = MsoTriState.msoTrue; ChangeName(overlayShape, EffectName.Banner); overlayShape.ZOrder(MsoZOrderCmd.msoSendToBack); if (imageShape != null) { imageShape.ZOrder(MsoZOrderCmd.msoSendToBack); } return overlayShape; }