• Quartz2D使用


     

    使用Quartz2D前  先导入QuartzCore.framework

    //划线

    //1.获取图形上下文
        CGContextRef ctx=UIGraphicsGetCurrentContext();
        //2.绘图(画线)
        //设置起点
        CGContextMoveToPoint(ctx, 20, 20);
        //设置终点
        CGContextAddLineToPoint(ctx, 200, 300);
        //渲染
        CGContextStrokePath(ctx);

    常用拼接路径函数

    • 新建一个起点
      void CGContextMoveToPoint(CGContextRef c, CGFloat x, CGFloat y)

    • 添加新的线段到某个点
      void CGContextAddLineToPoint(CGContextRef c, CGFloat x, CGFloat y)

    • 添加一个矩形
      void CGContextAddRect(CGContextRef c, CGRect rect)

    • 添加一个椭圆
      void CGContextAddEllipseInRect(CGContextRef context, CGRect rect)

    • 添加一个圆弧
      void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise)

    常用绘制路径函数

    • Mode参数决定绘制的模式
      void CGContextDrawPath(CGContextRef c, CGPathDrawingMode mode)

    • 绘制空心路径
      void CGContextStrokePath(CGContextRef c)

    • 绘制实心路径
      void CGContextFillPath(CGContextRef c)

    提示:一般以CGContextDraw、CGContextStroke、CGContextFill开头的函数,都是用来绘制路径的

    图形上下文栈的操作

    • 将当前的上下文copy一份,保存到栈顶(那个栈叫做”图形上下文栈”)
      void CGContextSaveGState(CGContextRef c)

    • 将栈顶的上下文出栈,替换掉当前的上下文
      void CGContextRestoreGState(CGContextRef c)

    矩阵操作

    利用矩阵操作,能让绘制到上下文中的所有路径一起发生变化

    • 缩放
      void CGContextScaleCTM(CGContextRef c, CGFloat sx, CGFloat sy)

    • 旋转
      void CGContextRotateCTM(CGContextRef c, CGFloat angle)

    • 平移
      void CGContextTranslateCTM(CGContextRef c, CGFloat tx, CGFloat ty)

    简书链接:http://www.jianshu.com/p/0e785269dccc

     

      // 1.开启基于位图的图形上下文

        /**

         *  CGSize size:size

         *  BOOL opaque:透明开关,如果图形完全不用透明,设置为YES以优化位图的存储。

         *  CGFloat scale:缩放比例

         */

        UIGraphicsBeginImageContextWithOptions(CGSizeMake(100, 100), NO, 0.0);

        //设置颜色填满

        [color setFill];

        //绘图(实心)

        UIRectFill(CGRectMake(0, 0, 100, 100));

        //获得画的图形保存为图片

        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

        //关闭上下文

        UIGraphicsEndImageContext();

     

    最后附上天气温度折线图:链接: http://pan.baidu.com/s/1pKWJmPl 密码: b28v

  • 相关阅读:
    ssh免密码登录与常见问题
    在eclipse中生成实体类
    在cmd中设置字体
    java命名
    c/s架构
    sql身份证号查人数
    bootstraptable表格基本
    手机登录验证
    form表单验证提示语句
    html让背景透明
  • 原文地址:https://www.cnblogs.com/xj76149095/p/5049508.html
Copyright © 2020-2023  润新知