剪切掉指定区域意外的部分,只保留该区域内的内容。
你可以先绘制裁剪区域以外的部分。再去裁切,这样可以保留两者。
如果,是先裁剪区域,然后再去绘制裁剪区域以外的部分。则后者失效。只显示裁剪区域内容
#pragma mark - 裁剪 - (void)test16{ CGContextRef context = UIGraphicsGetCurrentContext(); CGContextAddEllipseInRect(context, CGRectMake(220, 220, 100, 100)); CGContextStrokePath(context); // CGContextAddEllipseInRect(context, CGRectMake(20, 220, 100, 100));
裁剪指定区域 // CGContextClip(context);
裁剪指定矩形区域 CGContextClipToRect(context, CGRectMake(0, 0, 200, 200)); CGImageRef image = [UIImage imageNamed:@"001"].CGImage; CGRect imageRect; imageRect.origin = CGPointMake(120, 120); imageRect.size = CGSizeMake(150, 150); // 这样图片是倒着的,因为坐标系不一样 // CGContextDrawImage(context, imageRect, image); CGContextDrawTiledImage(context, imageRect, image); }
原文:http://www.cnblogs.com/kinghx/p/5377001.html