0

我想在目标 C 中倾斜图像,如下图所示,这可以使用CGAffineTransform吗?我不确定如何实现这样的效果,到目前为止只能让它旋转或缩放。

歪斜图像

4

1 回答 1

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;
于 2014-06-23T22:33:04.987 回答