XMG Quartz2D 矩阵操作

1.

一旦我们想要获得上下文的话,设置上下文的一些状态旋转什么的,就需要用C的代码去获取,而不能用贝泽尔


2、

CGContextAddPath(cox,path.CGPath);


3.平移 

CGContextTranslateCTM(cox,100,100);

4.缩放

CGContextScaleCTM(cox,0.5,0.5);

5.旋转

CGContextAddPath(cox,M_PI_4);



源码

#import "DrawView.h"


@implementation DrawView



// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    

    // 1.获取上下文

    CGContextRef ctx = UIGraphicsGetCurrentContext();

    

    

    // 2.描述路径

   UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(-100, -50, 200, 100)];

    

    [[UIColor redColor] set];

    

    // 上下文矩阵操作

    // 注意:矩阵操作必须要在添加路径之前

    

    //  平移

    CGContextTranslateCTM(ctx, 100, 50);

    

    // 缩放

    CGContextScaleCTM(ctx, 0.5, 0.5);

    

    // 旋转

    

    CGContextRotateCTM(ctx, M_PI_4);

    

    // 3.把路径添加上下文

    CGContextAddPath(ctx, path.CGPath);


    

    

    [[UIColor redColor] set];

    

    

    // 4.渲染上下文

    CGContextFillPath(ctx);

    

    

    

    

}





你可能感兴趣的:(XMG Quartz2D 矩阵操作)