Quartz2D-二维画图引擎 、自己定义UI控件

//
//  MyDraw.m
//  绘图

#import "MyDraw.h"

@implementation MyDraw

//Quartz2D  是一个二维绘图引擎
//自己定义UI控件
//裁剪图片

- (void)drawRect:(CGRect)rect {
    
    draw4Rect();
    //drawTriangle();
    
}

void draw4Rect()
{
    //获得图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    //绘图形
    CGContextAddRect(ctx, CGRectMake(10, 10, 100, 100));
    
    //绘制图形
    //CGContextStrokePath(ctx);
    
    
    //设置主要的颜色
    CGContextSetRGBFillColor(ctx, 0, 0, 1, 1);
    
    //结合UI 能够更简单的设置颜色
    [[UIColor redColor]setFill];
    
    //set :同一时候设置实心 空心颜色
    //setStroke 设置空心颜色
    // setFill 设置实心颜色
    [[UIColor whiteColor]set];
    
    //实的图形
    CGContextFillPath(ctx);
}
void drawTriangle()
{

    // Drawing code
    //1.获得图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    //设置头尾部样式
    CGContextSetLineCap(ctx, kCGLineCapRound);
    
    //2.拼接图形
    CGContextMoveToPoint(ctx, 10, 10);
    
    //加入一条线段到
    CGContextAddLineToPoint(ctx, 100, 100);
    
    
    //设置转折点的样式
    //CGContextSetLineJoin(ctx, kCGLineJoinBevel);
    CGContextSetLineJoin(ctx, kCGLineJoinRound);
    
    CGContextMoveToPoint(ctx, 200, 190);
    
    CGContextAddLineToPoint(ctx, 150, 40);
    CGContextAddLineToPoint(ctx, 110, 60);
    //设置线条的宽度
    
    CGContextSetLineWidth(ctx, 10);
    
    
    //设置颜色
    CGContextSetRGBStrokeColor(ctx, 1, 0, 0, 1);
    
    
    //CGContextAddLineToPoint(ctx, 10, 10);
    
    //连接起点和终点
    //CGContextClosePath(ctx);
    //CGContextMoveToPoint(ctx, 20, 20);
    
    //3.渲染显示到view 上面
    //以空心的形式画出来
    CGContextStrokePath(ctx);//仅仅记录当前的颜色状态  我们要是向让两根线条不一样
    //那么我们须要渲染两次
    //分开几个图形 多渲染几次就能够了
    
}


//设置颜色



@end

猜你喜欢

转载自www.cnblogs.com/zhchoutai/p/8876624.html