普通生成

示例代码:

//这里实现普通生成图片的方法
- (void)drawRect:(CGRect)rect { CGRect cxRect = CGRectMake(, , , ); UIGraphicsBeginImageContextWithOptions(cxRect.size, NO, ); [[UIColor redColor] setFill]; UIRectFill(cxRect); UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , , )]; imageView.image = image; [self addSubview:imageView];
}

效果图:

渐变颜色生成

示例代码:

//这里实现渐变颜色生成图片的方法
- (void)drawRect:(CGRect)rect { CGRect cxRect = CGRectMake(, , , );
UIGraphicsBeginImageContextWithOptions(cxRect.size, NO, );
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor * beginColor = [UIColor greenColor];
UIColor * endColor = [UIColor redColor];
drawLinearGradient(context, cxRect, beginColor.CGColor, endColor.CGColor);
CGContextRestoreGState(context); UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , , )]; imageView.image = image; [self addSubview:imageView];
} void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, CGColorRef endColor)
{
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGFloat locations[] = { 0.0, 1.0 }; NSArray *colors = @[(__bridge id) startColor, (__bridge id) endColor]; CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef) colors, locations);
CGPoint startPoint = CGPointMake(rect.size.width/, );
CGPoint endPoint = CGPointMake(rect.size.width/, rect.size.height/1.5); CGContextSaveGState(context);
CGContextAddRect(context, rect);
CGContextClip(context);
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, );
CGContextSetStrokeColorWithColor(context, [[UIColor clearColor] CGColor]);
}

效果图:

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. php日期处理 -- 获取本周和上周的开始日期和结束日期(备忘)

    Learn From: http://www.phpernote.com/php-function/1019.html 直接贴代码: <?php header('Content-type: te ...

  2. [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  3. TypeWonder – 在任何网站上实时预览字体效果

    TypeWonder 让网页字体的选择过程变得轻松愉快.它可以帮助您在任何网站上快速测试 Web 字体效果!输入网站网址,就能够即时预览的字体的实际效果,还可以从数百种字体中进行挑选,您还可以得到所需 ...

  4. DIV+CSS常用网页布局技巧!

    以下是我整理的DIV+CSS常用网页布局技巧,仅供学习与参考! 第一种布局:左边固定宽度,右边自适应宽度 HTML Markup <div id="left">Left ...

  5. mysqldump命令的常用组合

    只导表结构完整语句: mysqldump -h192.168.1.174  --port=3306 -uroot -p  --routines --events --no-data  --no-cre ...

  6. 2016C#模拟谷歌Google登陆Gmail&Youtube小案例

    之所以写这个,是因为本来想写一个Youtube刷评论的工具,把登录做出来了,后面就没继续做下去. 涉及到基本的HttpWatch的应用以及Fiddler的应用(Fd主要用来排查问题,通过对比 浏览器和 ...

  7. Linux命令详解之—pwd命令

    Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...

  8. ValueStack值栈和ActionContext

    Struts2在OGNL之上提供的最大附加特性就是支持值栈(ValueStack),在OGNL上下文中只能有一个根对象,Struts2的值栈则允许存在许多虚拟对象. 一:值栈(ValueStack) ...

  9. 公司mysql数据库设计与优化培训ppt

    cnblogs无法上传附件. http://pan.baidu.com/s/1kVGqMn9

  10. mysql max_allowed_packet过小导致的prepare失败

    最近公司一台阿里云上模拟环境突然好好地就出错了额,总提示:"Unknown prepared statement handler (stmt) given to DEALLOCATE PRE ...