【问题标题】:Cover Google slides bullet with image using Appscript使用 Appscript 用图像覆盖 Google 幻灯片项目符号
【发布时间】:2021-01-21 11:25:30
【问题描述】:

我正在寻找一种方法来使用与演示风格相匹配的彩色形状来覆盖 Google 幻灯片中丑陋的黑白项目符号。这些是存储在云端硬盘上的微小图像。

修改项目符号的经典方式(通过 UI)(在“格式”>“项目符号”部分)仅提供选择符号的可能性,但不能选择其颜色或其他样式参数。

我想我可以使用 Google App 脚本从我的驱动器加载幻灯片中的图像,然后将其放置在项目符号位置。但我不知道如何获得子弹位置。如何获取子弹位置?

有人知道用 Google 幻灯片中的自定义图像替换项目符号的更好方法吗?

【问题讨论】:

    标签: user-interface google-apps-script google-slides-api google-slides


    【解决方案1】:

    为了获得项目符号位置,最接近的方法是检索它所属的文本框,具体取决于幻灯片中对象的组织方式。

    var items = Slides.Presentations.Pages.get(PRES_ID, PAGE_OBJECT_ID)
    

    这将最终返回页面中带有提到的 id 的所有项目。之后,您将不得不遍历这些以检索包含项目符号的文本框并获取其开始位置,该位置将存储在 AffineTransform 类型的对象中。 但是,请记住,这将返回文本框的位置。

    使用 Slides API 插入图片时,使用的是 createImageRequest

    考虑到这一点,createImageRequest 的结构如下所示:

    {
       "objectId": string,
       "elementProperties": {
          {
             "pageObjectId": string,
             "size": {
                object(Size)
             },
             "transform": {
                object(AffineTransform)
             }
          }
       },
       "url": string
    }
    

    如果你想操纵图像的位置,你必须使用AffineTransform 对象来匹配从上一步获得的对象。

    参考

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多