iOS 生成随机颜色(UIColor)
#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)的更多相关文章
- Swift - 生成随机颜色(Extension UIColor)
在开发中,我们有时需要生成一些随机的颜色.但 UIColor 没有提供方法或属性来直接获取随机颜色,这里对其进行扩展,方便使用. 1,扩展UIColor,增加随机颜色属性 1 2 3 4 5 6 7 ...
- iOS - 对UIColor颜色反差
iOS中默认的很多方法可以获得不同种颜色的UIColor对象,但是White和Black等灰度值其实是用灰阶透明度调制 +colorWithWhite:alpha:,这些CGColorRef拥有2个组 ...
- iOS涂色涂鸦效果、Swift仿喜马拉雅FM、抽屉转场动画、拖拽头像、标签选择器等源码
iOS精选源码 LeeTagView 标签选择控件 为您的用户显示界面添加美观的加载视图 Swift4: 可拖动头像,增加物理属性 Swift版抽屉效果,自定义转场动画管理器 Swift 仿写喜马拉雅 ...
- IOS Quartz2D 通过UIColor生成图片
普通生成 示例代码: //这里实现普通生成图片的方法 - (void)drawRect:(CGRect)rect { CGRect cxRect = CGRectMake(, , , ); UIGra ...
- ios 随机色 宏定义
#define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1] #d ...
- iOS:扩展UIColor,支持十六进制颜色设置
来自转载:http://my.oschina.net/leejan97/blog/307491 摘要: 可以直接使用十六进制设置控件的颜色,而不必通过除以255.0进行转换 #define UICol ...
- iOS开发:UIColor转成纯色图片(UIImage)
Objective-c 版本 UIKIT_EXTERN UIImage * __nullable UIColorAsImage(UIColor * __nonnull color, CGSize si ...
- js几种生成随机颜色方法
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- php生成随机颜色代码
function rand_color($color_array) { $color = dechex(rand(3355443,13421772)); if (in_array($color, $c ...
随机推荐
- GUI & Event例子
Student No.: _______________ Name: ________________________________________1TK2934 Object-Oriented P ...
- Java EE (6) -- Java EE 5 Enterprise Architect Certified Master
Section 1: Application Design Concepts and Principles Explain the main advantages of an object-orien ...
- iOS开发 编辑框被系统弹出的软键盘遮挡问题
我们在开发注冊界面的时候,最后几个注冊条件经常easy被系统弹出的键盘遮挡,例如以下图: 能够看见,邮箱条件被遮挡掉了,怎么解决呢?我是通过UITextField的代理加计算偏移量: - (void) ...
- 使用Ratpack和Spring Boot打造高性能的JVM微服务应用
使用Ratpack和Spring Boot打造高性能的JVM微服务应用 这是我为InfoQ翻译的文章,原文地址:Build High Performance JVM Microservices wit ...
- java.net.SocketException: Unconnected sockets not implemented 解
JDK 这一问题的版本号,至Oracle公司JDK版本号bug.于6u12-rev号修复了该问题 请将JDK版本号升级到 1.6.0_12-b05 以上.推荐1.6.0_37 http://b ...
- BZOJ-2115-Xor-WC2011
叙述性说明 分析 我把文库里的粘了过来. 仅仅知道点1到点N的一条路径和图中若干个环.就能通过异或,表示成全部路径.那么.须要多少环才干保证必然能表示成全部路径呢?事实上.并不须要非常多, 由于一些环 ...
- 《TCP/IP详细解释》札记(23章)-TCP该保活定时器
可能有这样的备用现实TCP连接:流通过. 也就是说.假设TCP连接的两方都没有向对方发送数据.则在两个TCP模块之间不交换不论什么信息,这意味着我们能够启动一个客户与server建立连接,然后长时间不 ...
- CSA 第五届研讨会 想象
参加第五届CSA云安全联盟研讨会. 人们太.所以,我们没有找到座位.立一个很长的时间.为了弥补没有时间坐在办公室.一个补回来.首先为大家介绍的信贷云,事实上独立: 信-使用-云 1. 信-使用-云 什 ...
- POJ 2217 Secretary (后缀数组)
标题效果: 计算两个公共串串最长的字符串的长度. IDEAS: 这两个组合的字符串. 然后直接确定运行后缀数组height 然后,你可以直接扫描一次height .加个是不是在一个串中的推断就能够了. ...
- [生产环境数据恢复]innobackupex: fatal error: OR no 'datadir' option in group 'mysqld' in MySQL options
1 运行恢复命令 [xxx@xxx-c001db1 tmp]$ time /usr/bin/innobackupex --rsync --user="user" --passwo ...