- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.//用三种方法画脸,//1.用CGMutablePathRef
[self paintFaceWithCGPath];
//2.完全用CGContextRef//这些函数执行起来其实是和CGPath完全等价的。//这里需要注意的是,完全使用CGContextRef的话,Transform的应用需使用CGContextTranslateCTM函数。
[self paintFaceWithCGContextRef];
//3.使用贝塞尔曲线// 使用UIBezierPath类型来完成上述图形,UIBezierPath很有意思,它包装了Quartz的相关API,自己存在于UIKit中,因此不是基于C的API,而是基于Objective-C对象的。那么一个非常重要的点是由于离开了Quartz绘图,所以不需要考虑Y轴翻转的问题,在画弧的时候,clockwise参数是和现实一样的,如果需要顺时针就传YES,而不是像Quartz环境下传NO的。// // 其次椭圆的创建需使用bezierPathWithOvalInRect方法,这里名字是Oral而不是Quartz中的Ellipse。// // 最后注意UIBezierPath的applyTransform方法需要最后调用。
[self paintFaceWithBezier];
//总结:// 其实都是围绕context来进行绘制,不管用哪种方式,最后都是用context的到image图像
直接上代码用三种方式画个笑脸- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //用三种方法画脸, //1.用CGMutablePathRef [self paintFaceWit