您的位置:首页 > 其它

在CALayer中绘制图片解决图片倒立的三种方法

2016-04-08 13:28 411 查看
在CALayer中绘制图片,如果不做处理绘制出来的图片都是倒置的。所以要对图片进行处理,使其不再倒立

使用图形上下文形变,解决图片的倒立问题

-(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx{//这个图层正是上面定义的图层
CGContextSaveGState(ctx);
//图形上下文形变,解决图片倒立的问题
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -PHOTO_HEIGHT);

UIImage *image=[UIImage imageNamed:@"photo.png"];
//注意这个位置是相对于图层而言的不是屏幕
CGContextDrawImage(ctx, CGRectMake(0, 0, PHOTO_HEIGHT, PHOTO_HEIGHT), image.CGImage);

CGContextRestoreGState(ctx);
}


利用图层形变解决图像倒立问题

layer.transform=CATransform3DMakeRotation(M_PI, 1, 0, 0);


使用KVC来解决图像倒立问题

[layer setValue:@M_PI forKeyPath:@"transform.rotation.x"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: