美文网首页
CoreGraphics绘图API

CoreGraphics绘图API

作者: 流浪的野兽 | 来源:发表于2016-11-03 17:59 被阅读85次

画布:

CGContextSaveGState(ctx); //保存画布上的绘图信息
CGContextRestoreGState(ctx); //清空画布上的绘图信息
CGContextClip(ctx);//指定上下文中可以显示内容的范围,需要在绘制内容前调用

渲染

CGContextStrokePath(ctx); //渲染,空心的
CGContextFillPath(ctx); //渲染,实心的,但线条无法渲染为实心

绘制对象:

  • NSString、UIColor、UIImage、UIBreizePath等UIKit框架对象
    <pre>
    [str drawAtPoint:CGPointMake(10, 10) withAttributes:md]; //绘制文字
    [str drawInRect:CGRectMake(50, 50, 100, 100) withAttributes:nil]; //绘制文字
    </pre><pre>
    [image drawInRect:CGRectMake(0, 0, 200, 200)]; //绘制图片,拉伸原有图片
    [image drawAtPoint:CGPointMake(100, 100)]; //绘制图片
    [image drawAsPatternInRect:CGRectMake(0, 0, 320, 480)]; //绘制图片,平铺小图
    </pre><pre>
    [aView.layer renderInContext:ctx]; //绘制视图内容
    </pre>
  • Quarts2D绘图对象
    <pre><pre>
    CGContextMoveToPoint(ctx, 20, 100); //绘制线条,设置起点
    CGContextAddLineToPoint(ctx, 100, 320); //绘制线条,设置终点
    CGContextClosePath(ctx); //关闭线条起点和终点
    CGContextAddRect(ctx, CGRectMake(20, 20, 150, 100)); //画四边形
    CGContextAddArc(ctx, 100, 100, 50, 0, 2 * M_PI, 0); // 画圆、画圆弧
    CGContextAddEllipseInRect(ctx, CGRectMake(50, 100, 100, 230)); //画椭圆
    </pre><pre>
    CGMutablePathRef path=CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, 20, 20);
    CGPathAddLineToPoint(path, NULL, 200, 300);
    CGContextAddPath(ctx, path);
    CGPathRelease(path);
    CFRelease(path);
    </pre></pre><pre>
    矩阵操作:
    CGContextRotateCTM(ctx, M_PI_4); //旋转是对整个layer旋转的。先旋转再画图
    CGContextScaleCTM(ctx, 0.5, 1.5); //缩放
    CGContextTranslateCTM(ctx, 50, 100); //平移
    </pre>

绘图状态

<pre>
CGContextSetLineWidth(ctx, 12); //线条的宽度
CGContextSetLineCap(ctx,kCGLineCapRound); //线条起点和终点的样式为圆角
CGContextSetLineJoin(ctx, kCGLineJoinRound); //线条的转角的样式为圆角
</pre><pre>
[[UIColor blueColor] setStroke]; //绘图的颜色,设置空心
[[UIColor purpleColor] setFill]; //绘图的颜色,设置实心
[[UIColor greenColor] set]; //绘图的颜色,同时设置了实心和空心
CGContextSetRGBStrokeColor(ctx, 1.0, 0, 0, 1.0);//绘图的颜色,设置空心
CGContextSetRGBFillColor(ctx, 1.0, 0, 0, 1.0);//绘图的颜色,设置实心
</pre>

图片处理:

圆形处理:设置context为指定的圆形,然后将图片绘制到context上即可。

动画:
调用setNeedsLayout就可以刷新;

相关文章

  • CoreGraphics绘图API

    画布: CGContextSaveGState(ctx); //保存画布上的绘图信息CGContextRestor...

  • iOS绘图框架CoreGraphics分析

    iOS绘图框架CoreGraphics分析 iOS绘图框架CoreGraphics分析

  • iOS绘图基础(图形文字曲线相关)

    iOS绘图中,常用的是UIKit高级API和CoreGraphics两种方式。(还有不常用的OpenGLES方式)...

  • iOS绘图 总结

    由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择...

  • iOS绘图框架CoreGraphics分析

    由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择...

  • iOS绘图框架CoreGraphics

    由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择...

  • iOS绘图框架CoreGraphics分析

    由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择...

  • iOS绘图框架CoreGraphics分析

    由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择...

  • CoreGraphics,QuartzCore, CoreAni

    CoreGraphics(核心图形) 它是iOS的核心图形库,包含Quartz2D绘图API接口,常用的是p...

  • 关于CoreGraphics

    问题一:CoreGraphics是什么? 它是一组轻量级绘图的API.使用了Quartz引擎。(是c语言的接口)。...

网友评论

      本文标题:CoreGraphics绘图API

      本文链接:https://www.haomeiwen.com/subject/emrnsttx.html