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

来源:互联网 发布:js中鼠标点击图片放大 编辑:程序博客网 时间:2024/05/01 21:45

在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"];
0 0
原创粉丝点击