motionBlur 的 anchor 是做什么的?我改成 0.8 效果变奇怪了?

我用 motionBlur 做缩放模糊,原来 anchor 是设的 { x: 0.5, y: 0.5 },后来我试着改成 { x: 0.8, y: 0.8 } 想看看区别,结果动画方向变得特别奇怪,像从边缘拉伸了一样。想问下这个 anchor 坐标到底是干啥用的?

阅读 632
1 个回答

anchor 是模糊锚点(即模糊变换的中心位置),它必须跟动画的缩放锚点一致。
否则就会出现你说的“扭曲、偏移”问题。

{ x: 0.5, y: 0.5 }:从组件中心开始模糊(推荐默认);
{ x: 0, y: 0 }:从左上角发散;
{ x: 1, y: 1 }:从右下角收缩。

如果动画设置了 transform origin,请保持 anchor 同步:

.motionBlur({ radius: this.radius, anchor: { x: 0.5, y: 0.5 } })
.transformOrigin(0.5, 0.5) // 与 anchor 对应
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进