Core Graphics不提供锚点属性,并且所有转换/转换都假定锚点0,0(左下)。核心动画确实提供了一个锚点,但我们没有使用CA.
有没有人知道如何修改变换矩阵(与CGAffineTransform一起使用),以便我们可以模拟不同的锚点位置(例如底部中间,中心等)?
由于
答案 0 :(得分:2)
不确定。将所需的点转换为0,0。然后应用您想要的任何转换。然后应用反向翻译。
假设你想绕点25,25旋转。这样做:
CGAffineTransform *t = CGAffineTransformMake();
t = CGAffineTransformTranslate(t, -25, -25);
t = CGAffineTransformRotate(t, angle);
t = CGAffineTransformTranslate(t, 25, 25);
此时,t是一个将以25,25的角度旋转的变换。