zoukankan      html  css  js  c++  java
  • 绘图quartz之渐变

    实现线性渐变   径向渐变
     
    自己新建的view中有一个drawRect:(cgrect)rect方法
    在这个方法里 可以通过画图 将内容显示在画板上(即最下边的view)
     
    渐变的方式分两种  :1种是线性渐变    1种是径向渐变
    首先先看 线性渐变  
     
    1 设置图像的上下文 
    2 获得颜色空间  说明他是什么类型的颜色
    3 设置开始颜色  结束颜色  并且将他们换成Cg颜色 
    4 设置渐变   渐变的4个参数  没有的需要进行创建  2  3 
    5 绘制线性渐变  绘制径向渐变
    6清理creat创建的对象 用cg
    // Drawing code
        //获得当前图形器的当前的上下文
        CGContextRef context  = UIGraphicsGetCurrentContext();
       
        //创建渐变的颜色空间类型是RGB颜色
        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
        //设置颜色的开始 颜色的结束
        UIColor *beginColor =  [UIColor redColor];
        //将颜色转换为cgColor//CGFloat是浮点型的基本数据类型
        CGFloat *beginC =CGColorGetComponents([beginColor CGColor]);
        UIColor *endColor = [UIColor yellowColor];
       
       
        CGFloat *endC = CGColorGetComponents([endColor CGColor]);
       
        //将两个颜色的元素加入到一个Cgfloat数组中
        CGFloat component[8] = {beginC[0],beginC[1],beginC[2],beginC[3],endC[0],endC[1],endC[2],endC[3]};
        //设定颜色的区间 区间范围是0 1  如果区间没有你要的颜色 就会执行靠近区间的颜色
        CGFloat location[2] ={0,1};
       
        //设置渐变
        CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, component, location, 2);
         //绘制直线渐变
        CGContextDrawLinearGradient(context, gradient, CGPointMake(100, 100), CGPointMake(200, 200), 0);
         //绘制径向渐变
        CGContextDrawRadialGradient(context, gradient, CGPointMake(300, 300), 50, CGPointMake(300, 300), 60, kCGGradientDrawsBeforeStartLocation);
     
        //清理
        CGColorSpaceRelease(colorSpace);
        CGGradientRelease(gradient);
     
     
     
     
     
     
    对上述的代码,有任何疑问,可以在下方留言。 也可以给我发邮件咨询:673658917@qq.com 或者是直接加qq:673658917 转载请注明出处,谢谢合作。 睡觉舒服,那是给死人准备的,加油吧,一年后你会感谢现在的自己的。
  • 相关阅读:
    Django框架简介
    Django初识
    web前端 html
    python基础概念
    线程
    进程线程区别,和线程初识
    Nginx配置多个服务共用80端口
    Supervisor重新加载配置
    Gunicorn-Django部署
    django.db.utils.OperationalError: (1193, "Unknown system variable 'storage_engine'")
  • 原文地址:https://www.cnblogs.com/lishanshan/p/4868598.html
Copyright © 2011-2022 走看看