普通生成

示例代码:

  1. //这里实现普通生成图片的方法
  2. - (void)drawRect:(CGRect)rect {
  3.  
  4. CGRect cxRect = CGRectMake(, , , );
  5.  
  6. UIGraphicsBeginImageContextWithOptions(cxRect.size, NO, );
  7.  
  8. [[UIColor redColor] setFill];
  9.  
  10. UIRectFill(cxRect);
  11.  
  12. UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
  13.  
  14. UIGraphicsEndImageContext();
  15.  
  16. UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , , )];
  17.  
  18. imageView.image = image;
  19.  
  20. [self addSubview:imageView];
  21. }

效果图:

渐变颜色生成

示例代码:

  1. //这里实现渐变颜色生成图片的方法
  2. - (void)drawRect:(CGRect)rect {
  3.  
  4. CGRect cxRect = CGRectMake(, , , );
  5. UIGraphicsBeginImageContextWithOptions(cxRect.size, NO, );
  6. CGContextRef context = UIGraphicsGetCurrentContext();
  7. UIColor * beginColor = [UIColor greenColor];
  8. UIColor * endColor = [UIColor redColor];
  9. drawLinearGradient(context, cxRect, beginColor.CGColor, endColor.CGColor);
  10. CGContextRestoreGState(context);
  11.  
  12. UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
  13. UIGraphicsEndImageContext();
  14. UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , , )];
  15.  
  16. imageView.image = image;
  17.  
  18. [self addSubview:imageView];
  19. }
  20.  
  21. void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, CGColorRef endColor)
  22. {
  23. CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
  24. CGFloat locations[] = { 0.0, 1.0 };
  25.  
  26. NSArray *colors = @[(__bridge id) startColor, (__bridge id) endColor];
  27.  
  28. CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef) colors, locations);
  29. CGPoint startPoint = CGPointMake(rect.size.width/, );
  30. CGPoint endPoint = CGPointMake(rect.size.width/, rect.size.height/1.5);
  31.  
  32. CGContextSaveGState(context);
  33. CGContextAddRect(context, rect);
  34. CGContextClip(context);
  35. CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, );
  36. CGContextSetStrokeColorWithColor(context, [[UIColor clearColor] CGColor]);
  37. }

效果图:

IOS Quartz2D 通过UIColor生成图片的更多相关文章

  1. iOS - 对UIColor颜色反差

    iOS中默认的很多方法可以获得不同种颜色的UIColor对象,但是White和Black等灰度值其实是用灰阶透明度调制 +colorWithWhite:alpha:,这些CGColorRef拥有2个组 ...

  2. iOS Quartz2D画图

    对于刚接触Quartz2D的同学来说,先了解 上下文 的概念,再从最基础的画线来具体体验Quartz2D的画图步骤 介绍Quart2D :是苹果官方的二维(平面)绘图引擎,同时支持iOS和macOS系 ...

  3. iOS——Quartz2D

    0. 复习. 1.基本图形绘制 * 线段(线宽.线段样式) * 矩形(空心.实心.颜色) * 三角形.四边形等形状 1> 说明 - (void)drawRect:(CGRect)rect 什么时 ...

  4. iOS:quartz2D绘图 (动画)

    quartz2D可以用来绘制自己需要的图形,它们绘制出来的是一个静态的图形,那么如何绘制一个动态的图形呢?动态的图形就是动画,所谓动画,其实就是很多张图片在短时间内不停的切换所产生的一种视觉效果.qu ...

  5. IOS Quartz2D简介

    Quartz2D 简介( 后续会有相关应用) 第一部分 绘制直线 代码示例: - (void)drawRect:(CGRect)rect{ //获取图形上下文 CGContextRef cxConte ...

  6. iOS:扩展UIColor,支持十六进制颜色设置

    来自转载:http://my.oschina.net/leejan97/blog/307491 摘要: 可以直接使用十六进制设置控件的颜色,而不必通过除以255.0进行转换 #define UICol ...

  7. IOS Quartz2D自定义view

    @property (nonatomic, weak) UIImageView *imageView; @property (nonatomic, weak) NJImageView *njIv; @ ...

  8. iOS开发:UIColor转成纯色图片(UIImage)

    Objective-c 版本 UIKIT_EXTERN UIImage * __nullable UIColorAsImage(UIColor * __nonnull color, CGSize si ...

  9. IOS中将十进制色值转换成UIColor

    最近因项目需要,在网上找了一些代码,整合了一下,实现的效果就是将10进制的RGB色值转换IOS用的UIColor,方法还有缺陷,有待改进 UIColor *getColorFromString(NSS ...

随机推荐

  1. Winform快速开发组件的实现(二)

    昨天我们一直在做准备工作,最终表单数据需要从数据库里提取,并保存到数据库,今天接着介绍如何做提取.保存和验证. 四.提取并显示信息 在EditForm我们定义一个InfoId属性,用于接收在列表页面打 ...

  2. 找出链表中倒数第 k 个结点

    /* 题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表 的尾指针. 链表结点定义如下: struct node { int data; struct node * ...

  3. ASP.NET跨服务器上传文件的相关解决方案

    第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ ...

  4. Velocity魔法堂系列一:入门示例

    一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...

  5. Eclipse魔法堂:修改主题

    一.前言 习惯黑色主题,而Eclipse默认的白底主题显然不是我的菜,下面一起来修改主题吧! 二.主题资源 Eclipse Color Themes(http://eclipsecolorthemes ...

  6. QCustomplot使用分享(三) 图

    一.可以实现的图 相对于其他绘制图表的第三方库来说,QCustomPlot算是比较轻量的,不仅仅能实现功能,而且二次开发比较容易.下面我们来具体说下他可以实现那些图 QCPGraph:折线图,Line ...

  7. [ShortCut] Visual Studio快捷键

    msdn官方快捷键说明:https://msdn.microsoft.com/zh-cn/library/da5kh0wa.aspx 测试工具: visual studio 2013 操作步骤: 1. ...

  8. AEAI Portal V3.5.2门户集成平台发版说明

    AEAI Portal门户集成平台为数通畅联的核心产品,本着分享传递的理念,数通畅联将Portal_server.Portal_portlet两个项目开源,目的在于满足客户与伙伴的OEM需求,以及为广 ...

  9. PHP图像处理类库及演示分享

    简单写了一个PHP的图像处理类库,虽然功能比较少,但是目前也没用到太高级的,以后用到了再填吧,或者哪位给点建议加上什么功能,或者有什么需求可以跟我说,我有时间加上,如果哪位对这个类库进行了扩展的话,还 ...

  10. js不间断滚动

    CSS ul, li { margin: 0; padding: 0; } #scrollDiv { width: 300px; height: 25px; line-height: 25px; bo ...