您的位置:首页 > 其它

Quartz2D-02.利用Quartz画基本形状

2015-07-27 22:25 363 查看

1.利用Quartz2D画线

画两条平行的线

- (void)drawRect:(CGRect)rect{
// 1.获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.画线
// 画平行的不同颜色和线宽的线

// 2.1第一条线
// 2.1.1设置线宽
CGContextSetLineWidth(ctx, 10);
// 2.1.2设置线颜色
CGContextSetRGBStrokeColor(ctx, 1, 1, 0, 1);
// 2.1.3设置转折点样式
/*
enum CGLineJoin {
kCGLineJoinMiter, 默认尖尖的
kCGLineJoinRound, 圆弧
kCGLineJoinBevel  削平
};
*/
CGContextSetLineJoin(ctx, kCGLineJoinRound);
// 设置线条头尾部样式
/*
enum CGLineCap {
kCGLineCapButt, 默认样式
kCGLineCapRound, 圆条样式
kCGLineCapSquare 矩形样式
};
*/
CGContextSetLineCap(ctx, kCGLineCapRound);

// 2.1.4添加起始点
CGContextMoveToPoint(ctx, 10, 100);
// 2.1.5画线
CGContextAddLineToPoint(ctx, 150, 100);
CGContextAddLineToPoint(ctx, 50, 200);
// 2.1.6显示线条
CGContextStrokePath(ctx);

// 2.2第二条线
// 2.2.1设置颜色和线宽
CGContextSetLineWidth(ctx, 20);
CGContextSetRGBStrokeColor(ctx, 0, 0, 1, 1);
// 2.2.2移动到新的起始点
CGContextMoveToPoint(ctx, 10, 150);
// 2.2.3画线
CGContextAddLineToPoint(ctx, 150, 150);

// 3.显示到View上
CGContextStrokePath(ctx);//空心路径渲染
}


2.利用Quartz2D画三角形

画三角形

- (void)drawRect:(CGRect)rect{
// 1.获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.画三角形
// 添加起始点
CGContextMoveToPoint(ctx, 10, 10);
// 画线
CGContextAddLineToPoint(ctx, 100, 100);

// 画线
CGContextAddLineToPoint(ctx, 10, 150);

//结束路径,自动闭合
//    CGContextAddLineToPoint(ctx, 10, 10);
CGContextClosePath(ctx);

// 3.显示到View上
//    CGContextStrokePath(ctx);//空心路径渲染
CGContextFillPath(ctx);// 实心路径渲染
}


3.利用Quartz2D画矩形

画矩形

- (void)drawRect:(CGRect)rect{
// 1.获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.画矩形
CGContextAddRect(ctx, CGRectMake(10, 10, 200, 100));

// 3.显示到View上
CGContextStrokePath(ctx);//空心路径渲染
}


4.利用Quartz2D画圆

画圆

- (void)drawRect:(CGRect)rect{
// 1.获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.画圆
CGContextAddEllipseInRect(ctx, CGRectMake(10, 10, 100, 100));
// 画椭圆
// CGContextAddEllipseInRect(ctx, CGRectMake(10, 120, 150, 100));

// 3.显示到View上
CGContextStrokePath(ctx);//空心路径渲染
}


5.利用Quartz2D画弧

画弧

- (void)drawRect:(CGRect)rect{
// 1.获得图形上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.画圆弧
/*
x/y: 圆心
radius:半径
startAngle:起始角度
endAngle:结束角度
clickwise:0 顺时针,1 逆时针
*/
// 圆
//    CGContextAddArc(ctx, 30, 30, 20, 0, M_PI * 2, 1);

// 半圆
//    CGContextAddArc(ctx, 100, 100, 50, 0, M_PI, 0);

// 3/4圆
//    CGContextAddArc(ctx, 100, 100, 50, M_PI_2, M_PI, 1);
//    CGContextAddArc(ctx, 100, 100, 50, M_PI, M_PI_2, 0);

// 1/4圆
//    CGContextAddArc(ctx, 100, 100, 50, M_PI_2, M_PI, 0);

// 1/4扇形
CGContextAddArc(ctx, 100, 100, 50, M_PI_2, M_PI, 0);
CGContextAddLineToPoint(ctx, 100, 100);
CGContextClosePath(ctx);
// 3.显示到View上
CGContextStrokePath(ctx);//空心路径渲染
//  CGContextFillPath(ctx);//实心路径渲染
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: