#import <UIKit/UIKit.h>

@interface UIColor (RandomColor)

+(UIColor *) randomColor;

@end


#import "UIColor+RandomColor.h"

@implementation UIColor (RandomColor)

+(UIColor *) randomColor

{

CGFloat hue = (
arc4random() % /
256.0 );  //0.0 to 1.0

CGFloat saturation = (
arc4random() % /
256.0 ) + 0.5; 
// 0.5 to 1.0,away from white

CGFloat brightness = (
arc4random() % /
256.0 ) + 0.5; 
//0.5 to 1.0,away from black

];

@end

将随机生成的颜色绘制成图片。

-(void)createImage

{

NSString* path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)
objectAtIndex];

path = @"/Users/shouqiangwei/Desktop/未命名目录 2";

NSLog(@"path = %@",path);

NSString *imgName;

NSString *imgURL;

NSString *markNum;

UIImage *img;

NSData *imgData;

NSError *err;

, height=, fontSize;

CGPoint markPoint;

;

NSFileManager *fm = [NSFileManagerdefaultManager];

; i<; i++) {

UIColor *color = [UIColorrandomColor];

[_currentColorImageViewsetBackgroundColor:color];

imgName = [NSString
stringWithFormat:];

_lblCount.text = imgName;

imgURL = [path stringByAppendingPathComponent:imgName];

if (![fm fileExistsAtPath:imgURL]) {

const
CGFloat *colorComps = CGColorGetComponents(color.CGColor);

markNum = [NSString
stringWithFormat:];

fontSize = width / ;

markPoint = , fontSize/);

UIGraphicsBeginImageContext(CGSizeMake(width, height));

CGContextRef ctx =UIGraphicsGetCurrentContext();

], colorComps[], colorComps[], colorComps[]);

CGContextFillRect(ctx,
CGRectMake(, , width, height));

CGContextSetRGBFillColor(ctx,
1.0, 1.0, 1.0,1.0);

//创建图片上的数字。

[markNum drawAtPoint:markPoint
withFont:[UIFont
systemFontOfSize:fontSize]];

img = UIGraphicsGetImageFromCurrentImageContext();

self.imageView.image= img;

UIGraphicsEndImageContext();

//创建到本地。

imgData = [NSDatadataWithData:UIImageJPEGRepresentation(img,1.0f)];

[imgData writeToFile:imgURLoptions:NSDataWritingAtomicerror:&err];

if (err) {

NSLog(@"error: %@\nimage:%@", err.localizedDescription,
imgName);

} else {

NSLog(@"done: %@", imgName);

}

}

}

}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

iOS 生成随机颜色(UIColor)的更多相关文章

  1. Swift - 生成随机颜色(Extension UIColor)

    在开发中,我们有时需要生成一些随机的颜色.但 UIColor 没有提供方法或属性来直接获取随机颜色,这里对其进行扩展,方便使用. 1,扩展UIColor,增加随机颜色属性 1 2 3 4 5 6 7 ...

  2. iOS - 对UIColor颜色反差

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

  3. iOS涂色涂鸦效果、Swift仿喜马拉雅FM、抽屉转场动画、拖拽头像、标签选择器等源码

    iOS精选源码 LeeTagView 标签选择控件 为您的用户显示界面添加美观的加载视图 Swift4: 可拖动头像,增加物理属性 Swift版抽屉效果,自定义转场动画管理器 Swift 仿写喜马拉雅 ...

  4. IOS Quartz2D 通过UIColor生成图片

    普通生成 示例代码: //这里实现普通生成图片的方法 - (void)drawRect:(CGRect)rect { CGRect cxRect = CGRectMake(, , , ); UIGra ...

  5. ios 随机色 宏定义

    #define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1] #d ...

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

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

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

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

  8. js几种生成随机颜色方法

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. php生成随机颜色代码

    function rand_color($color_array) { $color = dechex(rand(3355443,13421772)); if (in_array($color, $c ...

随机推荐

  1. 通过action 跨进程启动activity

    在一些场景中我们需要从一个进程启动另外的一个应用的activity,这有什么好办法? 这里介绍一种方法,通过自定义 action 通过filter来启动. 如果你需要启动一个你自己写的另一个app的a ...

  2. 工作经常使用的SQL整理,实战篇(二)

    原文:工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实 ...

  3. android删除文件出错

    当删除一个文件,再又一次下载这个同名文件,保存到sdcard时出现error,部分手机出现 Caused by: libcore.io.ErrnoException: open failed: EBU ...

  4. 命令模式(CommandPattern)

    今天主要学习命令模式,java获得创意.其他屏幕教程.这里总结一下命令模式更重要. 刚开始以为命令模式是非常罕见的外观,但研究发现,他与同样单身完成.有设计模式最简单的集中模式. 象,然后其它的类直接 ...

  5. js控制图片缩放、水平和垂直方向居中对齐

    已測试兼容 IE6,IE7,IE8,火狐FF,谷歌chrome. 这里使用了jquery插件,假设你不使用jquery,略微改造一下也非常快. 网上查了些资料,用css控制兼容性不好,看去非常揪心.于 ...

  6. 比量iOS6/iOS7, 3.5inch/4.0inch

    Retina (3.5/4 inch Screen) or Non-Retina 比量 if ([[UIScreen mainScreen] respondsToSelector:@selector( ...

  7. Linux下安装Oracle11g服务器(转)

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  8. 由单页面web应用引发的企业应用问题

    由于单页面web应用的流行,client与server端之间都对应的产生了一些微妙的变化,比方,client原来仅仅是用来展示页面和理清逻辑,而现在逐渐转变成了一个可以进入驱动状态的应用程序. 未来的 ...

  9. 三种方式上传文件-Java

    前言:负责,因为该项目他(jetty嵌入式开始SpringMvc)实现文件上传的必要性,并拥有java文件上传这一块还没有被曝光.并 Http 更多晦涩协议.因此,这种渐进的方式来学习和实践上载文件的 ...

  10. OpenCV+MFC显示图像

    1.首先下载openCV. 2.安装OpenCV.现在的版本号2.4.9,你并不需要配置环境变量. 3.设置包括文件夹,设定project库文件夹. 4.配置链接库.注意,链接库包含了文件名中包含一个 ...