Упорядочить и преобразовать все изображения в Google Slides

Я делаю презентацию только с изображениями и подписями к событиям в виде слайд-шоу, по одному слайду на событие. Один слайд может содержать от 2 до 8 изображений с одного события.

Я хотел бы иметь возможность резюмировать и упорядочивать все изображения на одном слайде или во всей презентации. Но я не могу понять, как найти или выбрать все изображения.

Я знаю, как вставить фигуру определенного размера, но не знаю, как найти уже вставленные изображения и изменить их размер.

function plassering() {
var slide = SlidesApp.getActivePresentation().getSlides()[6];
var shape = slide.insertShape(SlidesApp.ShapeType.RECTANGLE);
shape.setLeft(14).setTop(14).setWidth(690).setHeight(510).setRotation(0);
Logger.log('Left: ' + shape.getLeft()
                + 'pt; Top: ' + shape.getTop()
                + 'pt; Width: ' + shape.getWidth()
                + 'pt; Height: ' + shape.getHeight()
                + 'pt; Rotation: ' + shape.getRotation() + '\u00B0.');
}

Подпись должна быть поверх всех изображений.


person Ingeborg    schedule 19.11.2018    source источник
comment
Могу я спросить вас о вашем вопросе? Вы хотите изменить размер существующего изображения на слайде. Я правильно понимаю? Когда вы знаете метод изменения размера одного изображения, сможете ли вы сделать это для всех изображений? Кстати, а что означает The caption should be on top av all the images.? Прошу прощения за мой плохой английский.   -  person Tanaike    schedule 20.11.2018
comment
Да, вы правильно поняли. Мне нужно знать две вещи: 1. Как преобразовать и переставить существующий объект. 2. Как перебирать все изображения на слайде, изменять их размер и переупорядочивать.   -  person Ingeborg    schedule 20.11.2018
comment
Заголовок - это текстовое поле с описанием события.   -  person Ingeborg    schedule 20.11.2018
comment
Спасибо за ответ. Могу я спросить вас о перестановке, которую вы думаете? Например, когда каждое изображение преобразуется в маленький размер на 50%, промежутки между каждым изображением становятся большими. В этом случае вы также хотите преобразовать пробелы в 50%. Я правильно понимаю? А также, чтобы помочь понять вашу ситуацию, можете ли вы предоставить образцы слайдов, которые вы хотите использовать в этой ситуации? Конечно, удалите, пожалуйста, вашу личную информацию.   -  person Tanaike    schedule 20.11.2018
comment
Вот тест: docs.google.com/presentation / Все изображения должны быть равны ширине слайда и располагаться друг над другом.   -  person Ingeborg    schedule 20.11.2018
comment
Спасибо за ответ. Я видел общие слайды. Что вы хотите сделать для этого слайда? Думал, что это образец до обработки. Можете ли вы предоставить образец после обработки? И я не мог понять All images should be the width of the slide, stacked on top of each other.. Вы можете объяснить детали? Мне очень жаль, что я плохо владею английским.   -  person Tanaike    schedule 21.11.2018
comment
Спасибо, что пытались мне помочь! :-) Это пример того, как я хочу, чтобы это было после запуска кода: все изображения на слайде накладываются друг на друга, и они одинаковы. Цель этого: другие люди будут добавлять изображения из события на слайд, по одному слайду на событие. Как изображения выглядят на слайде, не имеет значения. Когда все люди добавят свои изображения, я приведу в порядок презентацию, запустив этот код, и все изображения будут одинаковой ширины. Думайте об этом как о коробке с записными книжками. Все ноутбуки немного меньше коробки и сложены друг над другом.   -  person Ingeborg    schedule 21.11.2018
comment
Что касается All images on a slide are stacked on top of eachother and they are the same width., я могу подтвердить, что в ваших общих слайдах несколько изображений помещаются на слайд с одинаковой шириной. В этой ситуации могу я спросить вас об упорядочивании и преобразовании всех изображений? Мне очень жаль, что я плохо владею английским.   -  person Tanaike    schedule 22.11.2018


Ответы (1)


Я понял! Это для текущего слайда, но я думаю, что могу сделать то же самое для всех слайдов, по одному.

function rearrangeImages() {
  //Select current page
  var currentPage = SlidesApp.getActivePresentation().getSelection().getCurrentPage();
  var slide = currentPage;
  //Get all the 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);
  }
}
person Ingeborg    schedule 22.11.2018