我想在目标C中扭曲图像,如下图所示,是否可以使用CGAffineTransform
?我不确定如何实现这样的效果,到目前为止只能旋转或缩放。
答案 0 :(得分:2)
您可以使用图层的transform
属性来执行此操作,因为图层的变换是3D变换。在下面的代码中,图层的锚点移动到左边缘,然后应用3D变换。请注意,self.anim3DView
只是标准UIImageView
。
if ( self.anim3DView.layer.anchorPoint.x > 0.0 )
{
CGPoint position = self.anim3DView.layer.position;
position.x -= self.anim3DView.layer.bounds.size.width / 2.0;
self.anim3DView.layer.anchorPoint = CGPointMake( 0.0, 0.5 );
self.anim3DView.layer.position = position;
}
CATransform3D t = CATransform3DIdentity;
t.m34 = -0.005;
t = CATransform3DRotate( t, M_PI / 6.0, 0.0, 1.0, 0.0 );
self.anim3DView.layer.transform = t;