
自动居中文本锚点
根据文本图层的当前大小,自动保持锚点居中。
// 获取文本图层边界框的尺寸 s = sourceRectAtTime(time, false); // 计算边界框的中心点 anchor = [s.left + s.width / 2, s.top + s.height / 2]; // 返回居中的锚点位置 anchor
应用位置
将此表达式应用于任何文本图层的锚点属性。
当文本没有被父级控制,或者你使用表达式相对于锚点定位时效果最佳。
工作原理
下面是该表达式的工作原理:
sourceRectAtTime(time, false) 可以获取文本的边界框——包括其宽度、高度,以及它从图层的左上角偏移的距离。
s.left 和 s.top 告诉我们边界框相对于图层锚点的位置。
通过添加一半的宽度和高度,我们可以得到边界框的中心。
最终结果是一个点,能够将锚点锁定在文本的中心位置——即使文本发生变化或动画效果变动,也不会受到影响。
使用场景
这种自动中心锚点的效果尤其适用于:
- 动画缩放或旋转时希望其保持居中
- 动态更换文本(如使用模板或基本图形功能时)
- 避免锚点固定在左上角时产生的烦人偏移















评论抢沙发