zoukankan      html  css  js  c++  java
  • 绘制线性渐变

     /**

     大多数iOS & MAC都能使用的框架,都是C语言的,在使用OC时,因为ARC自动管理内存,通常不需要考虑内存管理

     如果在使用C语言框架时,绝大多数,是需要管理内存的!

     创建对象时,如果函数中包含"Create""Retain""Copy"这三个单词,都需要release释放内存

     使用“静态分析工具”,可以“从代码结构上分析”程序是否有可能出现内存泄露! 

     提示:在程序发布前,最好能够使用静态内存分析工具,检测一下代码!  

    // 1. 上下文

        CGContextRef ctx = UIGraphicsGetCurrentContext();    

        CGContextSaveGState(ctx);

        UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(110, 100, 100, 100)];

        [path addClip]; 

        // 2. 颜色(色彩)空间,在计算机领域,统一都使用RGB作为颜色空间,CMYK色彩空间是用来打印

        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

        // 3. 渐变

        // 数组名是指向数组第一个元素的指针

        // 每4个数表示一个颜色 r g b alpha

        // 从红色变到白色

        CGFloat components[] = {1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0};

        CGFloat locations[] = {0.0, 1.0};

        CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, components, locations, 2);

        // 4. 绘制线性渐变

        CGContextDrawLinearGradient(ctx, gradient, CGPointZero, CGPointMake(rect.size.width, rect.size.height), kCGGradientDrawsAfterEndLocation);

        // 5. 释放内存

        CGGradientRelease(gradient);

        CGColorSpaceRelease(colorSpace);

        // 恢复上下文

        CGContextRestoreGState(ctx);

  • 相关阅读:
    通过w3c方式 读取xml内容
    ssm项目 maven 项目pon.xml 配置
    myeclipse 2014新建maven web 项目步骤
    Maven学习
    常用正则学习
    Maven 那点事儿
    Chrome 里的请求报错 " Provisional headers are shown"
    php框架thinkphp3.2.3 配置文件bug
    $_GET $_POST $_REQUEST
    php检测函数
  • 原文地址:https://www.cnblogs.com/bluceZ/p/4629375.html
Copyright © 2011-2022 走看看