形状图层高度 = ExtendScript 中的合成高度
Shape layer height = composition height in ExtendScript
我有一个插件可以检测对象的像素宽度或高度是否更大。
它适用于其他对象,但对于形状图层,它只是表示合成大小。
我的密码是
pixelWidth = +currentLayer.width * +width / 100;
pixelHeight = +currentLayer.height * +height / 100;
变量宽度和高度是比例尺属性,我让它应用比例尺属性的百分比影响结果,所以它是出现的比例尺。
谢谢
嗯,我想你的问题是 "How to get the width and height of a shape layer in After Effects?"。我对吗?你为什么不这么说。当您发现宽度和高度属性时,只有 return comp 的宽度和高度。对于文本和形状图层,您需要使用 sourceRectAtTime(timeT, extents)
方法。它将 return 像这样的对象 {top, left, width, height}
这些是从图层锚点测量的。
var layer = app.project.activeItem.selectedLayers[0];
$.writeln(layer.width); // gives the comp width
$.writeln(layer.height);// gives the comp height
// from the After Effects Scripting Guide
// AVLayer sourceRectAtTime() method
// app.project.item(index).layer(index).sourceRectAtTime(timeT, extents) Description
// Retrieves the rectangle bounds of the layer at the specified time index,
// corrected for text or shape layer content.
// Use, for example, to write text that is properly aligned to the baseline.
/**
* sourceRectAtTime
* @param {Number} The time index, in seconds. A floating-point value.
* @param {Boolean} True to include the extents, false otherwise. Extents apply to shape layers, increasing the size of the layer bounds as necessary.
*
* @return {Object} A JavaScript object with four attributes, {top, left, width, height}.
*/
var bounds = layer.sourceRectAtTime(0, true);
$.writeln(bounds.toSource());
我有一个插件可以检测对象的像素宽度或高度是否更大。 它适用于其他对象,但对于形状图层,它只是表示合成大小。 我的密码是
pixelWidth = +currentLayer.width * +width / 100;
pixelHeight = +currentLayer.height * +height / 100;
变量宽度和高度是比例尺属性,我让它应用比例尺属性的百分比影响结果,所以它是出现的比例尺。
谢谢
嗯,我想你的问题是 "How to get the width and height of a shape layer in After Effects?"。我对吗?你为什么不这么说。当您发现宽度和高度属性时,只有 return comp 的宽度和高度。对于文本和形状图层,您需要使用 sourceRectAtTime(timeT, extents)
方法。它将 return 像这样的对象 {top, left, width, height}
这些是从图层锚点测量的。
var layer = app.project.activeItem.selectedLayers[0];
$.writeln(layer.width); // gives the comp width
$.writeln(layer.height);// gives the comp height
// from the After Effects Scripting Guide
// AVLayer sourceRectAtTime() method
// app.project.item(index).layer(index).sourceRectAtTime(timeT, extents) Description
// Retrieves the rectangle bounds of the layer at the specified time index,
// corrected for text or shape layer content.
// Use, for example, to write text that is properly aligned to the baseline.
/**
* sourceRectAtTime
* @param {Number} The time index, in seconds. A floating-point value.
* @param {Boolean} True to include the extents, false otherwise. Extents apply to shape layers, increasing the size of the layer bounds as necessary.
*
* @return {Object} A JavaScript object with four attributes, {top, left, width, height}.
*/
var bounds = layer.sourceRectAtTime(0, true);
$.writeln(bounds.toSource());