javascript - 使用 ExtendScript 将 compItem 转换为不同大小无法按预期工作

标签 javascript adobe extendscript after-effects

我在 AfterEffect 中有一个比例 9:16 的 compItem。我正在编写一个脚本来自动将其转换为不同的大小/比例。例如 16:9

如果我通过 AfterEffect 手动复制当前的 compItem 并更改像素大小(从 1080:1920 到 1920:1080),它会从顶部和底部平等地裁剪视频,这很好。

但是通过 ExtendScript,如果我复制并更新 widthheight,它只会从一侧(底部)裁剪视频。

以下是我写的脚本。任何见解都会有很大的帮助,谢谢。

var copies = {
    '4:5': [1080, 1350],
    '1:1': [1080, 1080],
    '16:9': [1920, 1080]
};

var currentComp = app.project.activeItem;

for (var i in copies) {
    var newCompItem = currentComp.duplicate();
    var width = copies[i][0];
    var height = copies[i][1];
    newCompItem.name = i;
    newCompItem.width = width;
    newCompItem.height = height;
};

最佳答案

可以通过以下步骤实现:

  1. 在当前合成中创建一个新的 Null Object
  2. 将其设为合成中所有图层的父级。
  3. 编写一个脚本来改变上面的构图大小。
  4. 空对象居中。

Null Object 居中会自动将图层居中,因为它是它们的父对象。

关于javascript - 使用 ExtendScript 将 compItem 转换为不同大小无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57351661/

相关文章:

javascript - 使用 Javascript 滚动时导航栏淡入淡出动画

flash - 在 Flash Web 应用程序中使用退格键时的 Windows Safari 5 错误

javascript - 将 Applescript 列表作为 Indesign 数组传递给 javascript ExtendScript

javascript - 是否可以在 indesign 脚本中读取 MS Document 或 Excel?

javascript - 错误类型错误 : Cannot read property 'push' of null

javascript - Angular2应用程序调用node.js函数

javascript - ie 中的 blob url 不起作用

adobe-illustrator - 在 Illustrator 中放置 SVG

javascript - JS : Textfile to JSON

pdf - 是否可以转到 pdf 中的行号?