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]];
目录
相关文章
|
XML Java 数据格式
常用的xpath
常用的xpath
110 0
|
4月前
|
XML Java 数据处理
深入了解 XPath
【8月更文挑战第22天】
65 0
3.3 Path
3.3 Path
83 0
|
机器学习/深度学习 人工智能 文字识别
超全干货分享:什么是RPA?
7月28日,阿里云RPA4.0版本重磅发布,为企业数字化转型提供高效、安全、可靠的服务。RPA是一款软件机器人,能够模拟人的行为完成软件的交互,能够解决跨系统、跨平台,重复有规律的工作流程。时至今日,阿里云RPA已被超过50万各行各业的用户采用,可以跟踪到的执行总次数已突破120亿次,用户使用RPA获得了3-10倍的效率提升
11209 0
超全干货分享:什么是RPA?
|
算法
PAT条条大路通罗马
Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness.
126 0
|
Kubernetes 网络协议 应用服务中间件
k8s的HPA
实现pod的自动伸缩
522 0
|
XML 数据格式 .NET
|
存储 安全 数据安全/隐私保护