利用图形上下文画线

方式一、

// 在这里面绘制,绘图的内容,因为只有在这里面才能获取跟当前view相关联的图形上下文。

// 在这个view第一次即将显示的时候调用。

// rect   要画图控件的bonds

- (void)drawRect:(CGRect)rect

{

    // 1、获取跟当前控件相关联的图形上下文

    CGContextRef contexRef = UIGraphicsGetCurrentContext();

    // 2、拼接绘图的路径

    CGMutablePathRef path = CGPathCreateMutable();

    // 起点。

    CGPathMoveToPoint(path, NULL, 50, 50);

    // 添加线到某个点。

    CGPathAddLineToPoint(path, NULL, 100, 100);

    // 3、添加路径到上下文

    CGContextAddPath(contexRef, path);

    // 4、渲染上下文到当前view上。

    CGContextStrokePath(contexRef);

}

方法二:

// 在这里面绘制,绘图的内容,因为只有在这里面才能获取跟当前view相关联的图形上下文。

// 在这个view第一次即将显示的时候调用。

// rect   要画图控件的bonds

- (void)drawRect:(CGRect)rect

{

    CGContextRef contexRef = UIGraphicsGetCurrentContext();

    // 拼接贝瑟尔路径

    UIBezierPath *path = [UIBezierPath bezierPath];

    [path moveToPoint:CGPointMake(10, 10)];

    [path addLineToPoint:CGPointMake(100, 100)];

    CGContextAddPath(contexRef, path.CGPath);

    CGContextStrokePath(contexRef);

}

方法三:

// 在这里面绘制,绘图的内容,因为只有在这里面才能获取跟当前view相关联的图形上下文。
// 在这个view第一次即将显示的时候调用。
// rect   要画图控件的bonds
- (void)drawRect:(CGRect)rect
{
    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(50, 50)];
    [path addLineToPoint:CGPointMake(100, 100)];

    [path stroke];
}
时间: 2024-10-22 21:33:51

利用图形上下文画线的相关文章

传入两坐标点,利用div+css画线

上样式生成函数代码 lineStyle (x1, y1, x2, y2, lineWidth = 4, color = 'black') { let rectX = x1 < x2 ? x1 : x2; let rectY = y1 < y2 ? y1 : y2; let rectWidth = Math.abs(x1 - x2); let rectHeight = Math.abs(y1 - y2); //弦长 let stringWidth = Math.ceil(Math.sqrt((r

【iOS】Quartz2D图形上下文

一.绘图的完整过程 程序启动,显示自定义的view.当程序第一次显示在我们眼前的时候,程序会调用drawRect:方法,在里面获取了图形上下文(在内存中拥有了),然后利用图形上下文保存绘图信息,可以理解为图形上下文中有一块区域用来保存绘图信息,有一块区域用来保存绘图的状态(线宽,圆角,颜色).直线不是直接绘制到view上的,可以理解为在图形上下文中有一块单独的区域用来先绘制图形,当调用渲染方法的时候,再把绘制好的图形显示到view上去. 在绘制图形区域,会去保存绘图状态区域中查找对应的状态信息(

iOS开发UI篇—Quartz2D使用(图形上下文栈)

iOS开发UI篇-Quartz2D使用(图形上下文栈) 一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法. 画线的三个步骤: (1)获取上下文 (2)绘图 (3)渲染 要求:画两条单独的线 代码和效果图: 1 - (void)drawRect:(CGRect)rect 2 { 3 //获取上下文 4 CGContextRef ctx=UIGraphicsGetCurre

iOS开发UI篇—Quartz2D使用(图形上下文栈

转自:http://www.cnblogs.com/wendingding/p/3782489.html 一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法. 画线的三个步骤: (1)获取上下文 (2)绘图 (3)渲染 要求:画两条单独的线 代码和效果图: 1 - (void)drawRect:(CGRect)rect 2 { 3 //获取上下文 4 CGContextR

猫猫学IOS(三十一)UI之Quartz2D图形上下文栈

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 首先,前面博客说过.qurza2d的上下文中有绘图信息和绘图的属性. 但是他是怎么绘制到上下午中的呢? 我们画图时候一半会用这三个步骤: (1)获取上下文 (2)绘图 (3)渲染 这里引申出来一个问题,画两条线的时候,是怎么工作呢? 画两条相交的线 设置线段的宽度:两头为圆形,颜色等. 代码: - (void)drawRect

Quartz2D使用(图形上下文栈)

Quartz2D使用(图形上下文栈) 一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法. 画线的三个步骤: (1)获取上下文 (2)绘图 (3)渲染 要求:画两条单独的线 代码和效果图: 1 - (void)drawRect:(CGRect)rect 2 { 3 //获取上下文 4 CGContextRef ctx=UIGraphicsGetCurrentContext

ios图形上下文栈

1 - (void)drawRect:(CGRect)rect 2 { 3 // 获取上下文 4 CGContextRef ctx = UIGraphicsGetCurrentContext(); 5 6 // 保存一份最纯洁的图形上下文 7 // 调用一次该方法就会拷贝一个上下文到栈中,存几次就最多能调用几次 CGContextRestoreGState(ctx),如果存了一次,取第二次的时候就会报错 8 9 CGContextSaveGState(ctx); 10 //CGContextSa

IOS 图形上下文栈

- (void)drawRect:(CGRect)rect { // 获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 保存一份最纯洁的图形上下文 // 调用一次该方法就会拷贝一个上下文到栈中 CGContextSaveGState(ctx); //CGContextSaveGState(ctx); // 第一条线 // 利用图形上下文保存绘图信息 CGContextMoveToPoint(ctx, 150, 20); CGCo

Quartz2d 画饼状图 图形上下文栈 矩阵操作 裁剪圆角图片

画饼状图 - (void)drawRect:(CGRect)rect { // Drawing code // 需求:根据sections的数据,绘制多个扇形 // 1.获取上下文(Layer Graphics Context) CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.根据sections的个数,计算扇形的起始和结束位置来画扇形 NSInteger count = self.sections.count; // 如果没有数据,