// // 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
Quartz2D-二维画图引擎 、自己定义UI控件
猜你喜欢
转载自www.cnblogs.com/zhchoutai/p/8876624.html
今日推荐
周排行