public PowerPoint.Shape ApplyRectOutlineEffect(PowerPoint.Shape imageShape, string overlayColor, int transparency) { TextBoxInfo tbInfo = new TextBoxes(Shapes.Range(), SlideWidth, SlideHeight) .GetTextBoxesInfo(); if (tbInfo == null) { return(null); } TextBoxes.AddMargin(tbInfo, 10); PowerPoint.Shape 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); }
public Shape ApplyFrostedGlassBannerEffect(BannerDirection direction, Position textPos, Shape blurImage, string overlayColor, int transparency) { TextBoxInfo tbInfo = new TextBoxes(Shapes.Range(), SlideWidth, SlideHeight) .GetTextBoxesInfo(); if (tbInfo == null) { return(null); } TextBoxes.AddMargin(tbInfo); Shape overlayShape; Shape blurBanner = blurImage.Duplicate()[1]; blurBanner.Left = blurImage.Left; blurBanner.Top = blurImage.Top; direction = HandleAutoDirection(direction, textPos); switch (direction) { case BannerDirection.Horizontal: overlayShape = ApplyOverlayEffect(overlayColor, transparency, 0, tbInfo.Top, SlideWidth, tbInfo.Height); CropPicture(blurBanner, 0, tbInfo.Top, SlideWidth, tbInfo.Height); break; // case BannerDirection.Vertical: default: overlayShape = ApplyOverlayEffect(overlayColor, transparency, tbInfo.Left, 0, tbInfo.Width, SlideHeight); CropPicture(blurBanner, tbInfo.Left, 0, tbInfo.Width, SlideHeight); break; } ChangeName(overlayShape, EffectName.Banner); ChangeName(blurBanner, EffectName.Banner); overlayShape.ZOrder(MsoZOrderCmd.msoSendToBack); Utils.ShapeUtil.MoveZToJustBehind(blurBanner, overlayShape); Microsoft.Office.Interop.PowerPoint.ShapeRange range = Shapes.Range(new[] { blurBanner.Name, overlayShape.Name }); Shape resultShape = range.Group(); ChangeName(resultShape, EffectName.Banner); return(resultShape); }
private PowerPoint.Shape ApplyCircleBannerEffect(string overlayColor, int transparency, bool isOutline = false, int margin = 0) { TextBoxInfo tbInfo = new TextBoxes(Shapes.Range(), SlideWidth, SlideHeight) .GetTextBoxesInfo(); if (tbInfo == null) { return(null); } TextBoxes.AddMargin(tbInfo, margin); PowerPoint.Shape overlayShape = ApplyCircleOverlayEffect(overlayColor, transparency, tbInfo.Left, tbInfo.Top, tbInfo.Width, tbInfo.Height, isOutline); ChangeName(overlayShape, EffectName.Banner); return(overlayShape); }
public void TestGetTextBoxInfo() { PpOperations.SelectSlide(2); Microsoft.Office.Interop.PowerPoint.ShapeRange shapes = PpOperations.SelectShapesByPrefix("TextBox"); TextBoxes textBoxes = new TextBoxes(shapes, Pres.PageSetup.SlideWidth, Pres.PageSetup.SlideHeight); TextBoxInfo textBoxInfo = textBoxes.GetTextBoxesInfo(); Assert.IsTrue(SlideUtil.IsRoughlySame(57.5200043f, textBoxInfo.Height)); Assert.IsTrue(SlideUtil.IsRoughlySame(68.2f, textBoxInfo.Left)); Assert.IsTrue(SlideUtil.IsRoughlySame(52.17752f, textBoxInfo.Top)); Assert.IsTrue(SlideUtil.IsRoughlySame(710.945068f, textBoxInfo.Width)); TextBoxes.AddMargin(textBoxInfo, 25); Assert.IsTrue(SlideUtil.IsRoughlySame(107.520004f, textBoxInfo.Height)); Assert.IsTrue(SlideUtil.IsRoughlySame(43.1999969f, textBoxInfo.Left)); Assert.IsTrue(SlideUtil.IsRoughlySame(27.17752f, textBoxInfo.Top)); Assert.IsTrue(SlideUtil.IsRoughlySame(760.945068f, textBoxInfo.Width)); }
public void TestGetTextBoxInfo() { PpOperations.SelectSlide(2); var shapes = PpOperations.SelectShapesByPrefix("TextBox"); var textBoxes = new TextBoxes(shapes, Pres.PageSetup.SlideWidth, Pres.PageSetup.SlideHeight); var textBoxInfo = textBoxes.GetTextBoxesInfo(); Assert.IsTrue(SlideUtil.IsRoughlySame(348.4239f, textBoxInfo.Height)); Assert.IsTrue(SlideUtil.IsRoughlySame(68.2f, textBoxInfo.Left)); Assert.IsTrue(SlideUtil.IsRoughlySame(52.17752f, textBoxInfo.Top)); Assert.IsTrue(SlideUtil.IsRoughlySame(741.0565f, textBoxInfo.Width)); TextBoxes.AddMargin(textBoxInfo, 25); Assert.IsTrue(SlideUtil.IsRoughlySame(398.4239f, textBoxInfo.Height)); Assert.IsTrue(SlideUtil.IsRoughlySame(43.1999969f, textBoxInfo.Left)); Assert.IsTrue(SlideUtil.IsRoughlySame(27.17752f, textBoxInfo.Top)); Assert.IsTrue(SlideUtil.IsRoughlySame(791.0565f, textBoxInfo.Width)); }
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); }