【发布时间】:2021-12-10 01:01:33
【问题描述】:
在 After Effects 中,我有一个字符串,我有一个字体, 我有一个构图的宽度和高度。 如何获得正确的字体大小以适合 comp 上的字符串,而不会溢出?
这里是新手程序员。
【问题讨论】:
-
谢谢,我需要文本适合高度和宽度。而所有这一切,在我只有 js 的 After Effects 中。
在 After Effects 中,我有一个字符串,我有一个字体, 我有一个构图的宽度和高度。 如何获得正确的字体大小以适合 comp 上的字符串,而不会溢出?
这里是新手程序员。
【问题讨论】:
您可以计算像素大小,但是(再次)Adobe 将大小限制为 1296 Px。 所以你需要按你的文本层的比例去。
在文本的比例参数中添加如下表达式:
var myTextSize = sourceRectAtTime();
var ratio = myTextSize.width / myTextSize.height;
var compRatio = thisComp.width/thisComp.height;
if(ratio >= compRatio) {
var factor = thisComp.width / myTextSize.width;
[scale[0] * factor, scale[1] * factor]
}
else{
var factor = thisComp.height / myTextSize.height;
[scale[0] * factor, scale[1] * factor]
}
此表达式根据您的组合的宽度和高度缩放文本。
但是它仍然没有居中。如果需要,您需要添加另一个表达式。这次在你的锚点上:
var boundingbox = sourceRectAtTime();
[boundingbox.left + boundingbox.width/2, boundingbox.top + boundingbox.height/2 ];
这应该可以解决问题。
【讨论】: