CGColorSpaceCreateDeviceRGB()

简介: <pre style="margin-top:0px; margin-bottom:0px; padding:0px; white-space:pre-wrap; word-wrap:break-word; line-height:18px; background-color:rgb(245,245,245); font-family:'Courier New'!important"><s
//绘制背景渐变

    /*

     CGCradientCreateWithColorComponents函数需要四个参数:

     色彩空间:(Color Space)这是一个色彩范围的容器,类型必须是CGColorSpaceRef.对于这个参数,我们可以传入CGColorSpaceCreateDeviceRGB函数的返回值,它将给我们一个RGB色彩空间。

     颜色分量的数组:这个数组必须包含CGFloat类型的红、绿、蓝和alpha值。数组中元素的数量和接下来两个参数密切。从本质来讲,你必须让这个数组包含足够的值,用来指定第四个参数中位置的数量。所以如果你需要两个位置位置(起点和终点),那么你必须为数组提供两种颜色

     位置数组,颜色数组中各个颜色的位置:此参数控制该渐变从一种颜色过渡到另一种颜色的速度有多快。

     位置的数量:这个参数指明了我们需要多少颜色和位置。

     */

    CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();

    CGFloat colors[] =

    {

        51.0 / 255.0, 160.0 / 255.0, 0.0 / 255.0, 1.00,

        68.0 / 255.0, 198.0 / 255.0, 0.0 / 255.0, 1.00,

//        0.0 / 255.0,  50.0 / 255.0, 126.0 / 255.0, 1.00,

    };

    CGGradientRef myGradient = CGGradientCreateWithColorComponents

    (rgb, colors, NULL, sizeof(colors)/(sizeof(colors[0])*4));

    // Allocate bitmap context

    CGContextRef bitmapContext = CGBitmapContextCreate(NULL, 320, TITLE_CONTROL_HEIGHT, 8, 4 * 320, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaNoneSkipFirst);

    // Draw Gradient Here

    /*

     创建好线性渐变后,我们将使用CGContextDrawLinearGradient过程在图形上下文中绘制,此过程需要五个参数:

     Graphics context 指定用于绘制线性渐变的图形上下文。

     Axial gradient 我们使用CGGradientCreateWithColorComponents函数创建的线性渐变对象的句柄

     start point 图形上下文中的一个CGPoint类型的点,表示渐变的起点。

     End Point表示渐变的终点。 

     Gradient drawing options 当你的起点或者终点不在图形上下文的边缘内时,指定该如何处理。你可以使用你的开始或结束颜色来填充渐变以外的空间。此参数为以下值之一:KCGGradientDrawsAfterEndLocation扩展整个渐变到渐变的终点之后的所有点 KCGGradientDrawsBeforeStartLocation扩展整个渐变到渐变的起点之前的所有点。0不扩展该渐变。

     */

    CGContextDrawLinearGradient(bitmapContext, myGradient, CGPointMake(160.0f, 0.0f),CGPointMake(160.0f, TITLE_CONTROL_HEIGHT),  kCGGradientDrawsBeforeStartLocation);

    // Create a CGImage from context

    CGImageRef cgImage = CGBitmapContextCreateImage(bitmapContext);

    // Create a UIImage from CGImage

    UIImage *uiImage = [UIImage imageWithCGImage:cgImage];

    // Release the CGImage

    CGImageRelease(cgImage);

    // Release the bitmap context

    CGContextRelease(bitmapContext);

    // Create the patterned UIColor and set as background color

    [titleScrollViewsetBackgroundColor:[UIColorcolorWithPatternImage:uiImage]];
目录
相关文章
|
人工智能 分布式计算 算法框架/工具
揭开阿里巴巴PAI的神秘面纱:引领人工智能计算的新篇章
揭开阿里巴巴PAI的神秘面纱:引领人工智能计算的新篇章 随着人工智能技术的飞速发展,越来越多的企业开始关注并投入到AI的研究和应用中。阿里巴巴作为全球领先的科技公司,也在AI领域做出了卓越的贡献。今天,就让我们一起来揭开阿里巴巴PAI的神秘面纱,了解这个强大的AI平台如何引领人工智能计算的新篇章。 PAI,全称阿里巴巴公共AI平台,是一个集数据准备、模型开发与训练、模型部署于一体的综合性AI平台。PAI的业务架构分为五层,从基础设施层到业务层,涵盖了AI计算的全过程。
1382 2
|
算法 C++
OpenCV-白平衡(完美反射算法)
OpenCV-白平衡(完美反射算法)
770 0
|
算法 C++
OpenCV-白平衡(灰度世界算法)
OpenCV-白平衡(灰度世界算法)
817 0
|
存储 前端开发 测试技术
Sui 从基础到编码实战
这篇文章详细介绍了Sui区块链的基础知识和实战应用,包括交易类型、共识引擎、Sui的优势、智能合约开发、安装Sui、包布局和语法、对象分类、NFT创建、对象包装、动态字段以及集合等概念。
417 2
Sui 从基础到编码实战
|
存储 编解码 vr&ar
色彩空间与像素格式
颜色是不同波长的光对人眼刺激产生的色彩感觉。色彩空间(Color Space)是颜色的数学表示,根据不同的表示方法分为不同的色彩模型。最常用的色彩模型有三类:RGB(用于计算机图形学), YUV(用于视频系统), CMYK(用于彩色印刷)。后文对色彩空间与色彩模型的叫法不作区分。本文仅讨论视频图像处理领域常用的 RGB 色彩空间和 YUV 色彩空间。
3249 0
色彩空间与像素格式
|
uml
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
3434 0
|
计算机视觉 Python
OpenCV为图像扩边(填充)
OpenCV为图像扩边(填充)
213 0
|
缓存 移动开发 测试技术
『Charles数据抓包功攻略』| 如何使用Charles进行数据抓包与分析?
『Charles数据抓包功攻略』| 如何使用Charles进行数据抓包与分析?
766 1
|
Rust 安全 Java
史上最轻量​!阿里新型单元测试Mock工具开源了
为了探索更轻量易用的Mock测试手段,阿里云云效团队尝试给工具减负,在主流Mock工具的基础上让Mock的定义和置换干净利落,最终设计了一款极简风格的测试辅助工具TestableMock,无需初始化,不挑测试框架,无论要换的是私有方法、静态方法、构造方法还是其他任何类的任何方法,也无需关注要换的对象是怎么创建的,只要写好Mock定义,加个@MockMethod注解,就能统统搞定。本文分享TestableMock的实现原理。
史上最轻量​!阿里新型单元测试Mock工具开源了
|
iOS开发 索引
iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间
iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间
778 0
iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间

热门文章

最新文章