如何调整幻灯片中选定图像的大小?

How to resize a selected image in slides?

我通过一堆演示文稿选择了一些图像,我需要将它们调整为标准尺寸。我想知道如何让我的脚本低于 运行 当前幻灯片上的 "selected" 个图像。

我找到了一个解决方案,有人让它适用于幻灯片上的所有图像,但我正在寻找那些被选中的对象(多个和单个)。

我尝试修改下面的代码,但没有成功!

function rearrangeImages() {
  //Select current page
  var currentPage = 
SlidesApp.getActivePresentation().getSelection().getCurrentPage();
  var slide = currentPage;
  //Get selected images of CurrentPage
  var pageElements = slide.getImages();
  //For each image, change the size and position
  for (var i = 0; i < pageElements.length; i++) {
    pageElements[i].select(true);
    var image = pageElements[i];
    var imgWidth = image.getWidth();
    var newWidth = 690; 
    var imgHeight = image.getHeight();
    var forhold = imgHeight/imgWidth;
    var newHeight = forhold*newWidth;
    image.setLeft(14).setTop(14).setWidth(newWidth).setHeight(newHeight).setRotation(0);
    var ui = SlidesApp.getUi();
   // ui.alert (imgWidth);
    pageElements[i].select(false);
  }
}
  • 您想调整所选图片的大小。

如果我的理解是正确的,这个修改怎么样?

getSelection()直接检索选择的objects。在本次修改中,使用了这个。

修改后的脚本:

function rearrangeImages() {
  var selectedObjects = SlidesApp.getActivePresentation().getSelection(); // Modified
  if (selectedObjects.getSelectionType() == SlidesApp.SelectionType.PAGE_ELEMENT) { // Added
    var pageElements = selectedObjects.getPageElementRange().getPageElements(); // Added
    for (var i = 0; i < pageElements.length; i++) {
      if (pageElements[i].getPageElementType() == SlidesApp.PageElementType.IMAGE) { // Added
        //For each image, change the size and position
        pageElements[i].select(true);
        var image = pageElements[i];
        var imgWidth = image.getWidth();
        var newWidth = 690; 
        var imgHeight = image.getHeight();
        var forhold = imgHeight/imgWidth;
        var newHeight = forhold*newWidth;
        image.setLeft(14).setTop(14).setWidth(newWidth).setHeight(newHeight).setRotation(0);
        var ui = SlidesApp.getUi();
       // ui.alert (imgWidth);
        pageElements[i].select(false);
      }
    }
  }
}

注:

  • 从你的标题来看,我认为你只想调整图像的大小。因此,此修改后的脚本仅调整选定图像的大小。如果要调整 objects 除了图像的大小,请删除 if (pageElements[i].getPageElementType() == SlidesApp.PageElementType.IMAGE).

参考文献:

如果我误解了您的问题,这不是您想要的结果,我深表歉意。