实现线性渐变   径向渐变
 
自己新建的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);
 
 
 
 
 
 

绘图quartz之渐变的更多相关文章

  1. iOS 2D绘图 (Quartz 2D) 概述

    本篇博客原文地址:http://blog.csdn.net/hello_hwc?viewmode=list 由于自己的项目需要,从网络上下载了许多关于绘制图形的demo,只是用在自己的项目中,很多地方 ...

  2. iOS:quartz2D绘图(绘制渐变图形)

    quartzD可以用来绘制渐变图形,即图形向外或向内发散,会变得越来越模糊. 渐变分为线性渐变和径向渐变,所谓线性渐变,就是图形以线的方式发散,发散后一般呈现出矩形的样子:而径向渐变,就是以半径的大小 ...

  3. 绘图quartz之加水印

      实现在图片上加一个水印  并存在document的路径下  同时在手机相册中也存一份 //首先开启imageContext找到图片     UIGraphicsBeginImageContext( ...

  4. 绘图quartz之阴影

          //设置矩形的阴影  并在后边加一个圆 不带阴影     步骤:     CGContextRef context = UIGraphicsGetCurrentContext();     ...

  5. iOS 2D绘图 (Quartz2D)之阴影和渐变(shadow,Gradient)

    原博地址:http://blog.csdn.net/hello_hwc/article/details/49507881 Shadow Shadow(阴影) 的目的是为了使UI更有立体感,如图 sha ...

  6. H5新特性-canvas绘图--渐变对象路径(最复杂)--图片--变形操作

    今天的目标 3.1:canvas绘图--(重点掌握:渐变对象.路径.图片.变形) 3.2:canvas绘图--渐变对象 线性渐变: linearGradient 径向渐变: var g = ctx.c ...

  7. HTML5画:线、圆、矩形、渐变

    示例一:矩形 <!DOCTYPE html><head> <meta charset=utf-8> <title>HTML5画线.圆.矩形</ti ...

  8. iOS:quartz2D绘图

    Quartz-2D:绘图 一.介绍: •Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境   •Quartz 2D API可以实现许多功能,如基于路径的绘图.透明度.阴影 ...

  9. highcharts 系统梳理笔记

    前言 highcharts最早接触它是在4年前,后来项目中很少用到图表这些东西,就算有也是用echart.他们思路都一样自己去官网上看api即可,构造数据填充节点,没有什么难点,这次是做完手上的工作然 ...

随机推荐

  1. Java_xml_Dom解析方式

    本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/12094775 1.Node准备 Node接口是整个文档对象模型的主要 ...

  2. 【HDOJ】1754 I Hate It

    线段树. #include <iostream> #include <cstdio> #include <cstring> using namespace std; ...

  3. 【HDOJ】1924 CIVIC DILL MIX

    简单字符串. #include <cstdio> #include <cstring> #define MAXN 55 char srca[MAXN], cas[MAXN], ...

  4. [QT]构建正则表达式测试

    正则表达式是个强大的东西 暂时先记录一个用法: QString str = "Peak memory: KEY s"; QString data = "Peak memo ...

  5. iOS 多线程学习笔记 —— NSThread

    本文复制.参考自文章:iOS多线程编程之NSThread的使用  ,主要为了加强个人对知识的理解和记忆,不做他用.原作者声明: 著作权声明:本文由http://blog.csdn.net/totogo ...

  6. hdu 4474 大整数取模+bfs

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4474 (a*10+b)%c = ((a%c)*10+b%c)%c; 然后从高位开始枚举能填的数字填充, ...

  7. 让x86的android模拟器能模拟arm架构系统

    网上介绍共计三种模拟器比较常用,分别是bluestacks.andy和Genymotion,前者支持ARM架构,中者支持远程控制,后者启动速度快,各有优缺点. 如果要用genymotion模拟arm的 ...

  8. 常见的HTTP状态码深入理解

    状态码的职责是当客户端向服务器端发送请求时,描述返回请求结果.借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了什么错误. RFC2616定义的状态码,由3位数字和原因短信组成. 数字中的第 ...

  9. C# 实现关闭按钮隐藏窗体而不退出

    private void OpenNewMxdFrm_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; thi ...

  10. 对Verilog 初学者比较有用的整理(转自它处)

    *作者: Ian11122840    时间: 2010-9-27 09:04                                                              ...