iOS随机颜色

#import <UIKit/UIKit.h>

@interface UIColor (RandomColor)
+(UIColor *) randomColor;
@end

#import "UIColor+RandomColor.h"

@implementation UIColor (RandomColor)

+(UIColor *) randomColor
{
    CGFloat hue = ( arc4random() % 256 / 256.0 );  //0.0 to 1.0
    CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;  // 0.5 to 1.0,away from white
    CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;  //0.5 to 1.0,away from black
        return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];
@end

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

-(void)createImage
{

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

    path = @"/Users/shouqiangwei/Desktop/未命名文件夹 2";
    NSLog(@"path = %@",path);
    NSString *imgName;
    NSString *imgURL;
    NSString *markNum;
    UIImage *img;
    NSData *imgData;
    NSError *err;
    int width= 1000, height=1000, fontSize;
    CGPoint markPoint;
    int baseLength = 320;
    NSFileManager *fm = [NSFileManagerdefaultManager];
    for (int i=0; i<1000; i++) {

        UIColor *color = [UIColorrandomColor];
        [_currentColorImageViewsetBackgroundColor:color];

        imgName = [NSString stringWithFormat:@"%i.jpg", i+1];
        _lblCount.text = imgName;

        imgURL = [path stringByAppendingPathComponent:imgName];
        if (![fm fileExistsAtPath:imgURL]) {
            const CGFloat *colorComps = CGColorGetComponents(color.CGColor);
            markNum = [NSString stringWithFormat:@"%i", i+1];

            fontSize = width / 5;
            markPoint = CGPointMake(fontSize/2, fontSize/2);

            UIGraphicsBeginImageContext(CGSizeMake(width, height));
            CGContextRef ctx =UIGraphicsGetCurrentContext();
            CGContextSetRGBFillColor(ctx, colorComps[0], colorComps[1], colorComps[2], colorComps[3]);
            CGContextFillRect(ctx, CGRectMake(0, 0, 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随机颜色

时间: 2024-11-05 14:43:03

iOS随机颜色的相关文章

iOS 随机颜色(UIColor)

#import @interface UIColor (RandomColor) (UIColor *) randomColor; @end #import "UIColorRandomColor.h" @implementation UIColor (RandomColor) (UIColor *) randomColor { CGFloat hue = ( arc4random() % 256 / 256.0 ); //0.0 to 1.0 CGFloat satura #impo

随机颜色的多种写法

今天给大家讲讲随机颜色怎么来实现.以下是我的两种方法: 方法一: 十六进制随机颜色:字符串的拼接; js: function ranColor(){ var colors="#"; for(var i=0; i<6;i++){ colors=colors+Math.floor(Math.random()*16).toString(16); } return colors; } var oDiv=document.getElementById('div'); oDiv.style.

C#取得随机颜色

C#取得随机颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码代码如下: public string GetRandomColor(){        Random RandomNum_First = new Random((int)DateTime.Now.Ticks);        //  对于C#的随机数,没什么好说的        System.Threading.Thread.Sleep(RandomNum_First.Next(50));        Random R

JS中取整以及随机颜色问题

前言:感觉自己已经好久好久没有写博客了,最近都是在写在线笔记比较多.现在来到新公司了,昨天刚刚完成一个项目所以今天有空研究研究一下前端方面的技术.下午在看一个游戏代码的时候,发现了几个别人留下的不错的代码小技巧.譬如说取整问题,随机颜色问题.其实这些问题都不大,但是仔细研究一下还是别有洞天,对于提高前端开发方面的理解还是很有帮助的. 取整问题: 1.常规方法: Math.floor(x),返回小于等于x,且最接近x的整数:   Math.floor(1.2);//1 Math.floor(-2.

随机颜色,使程序崩溃提醒

// 随机颜色 - (UIColor*)randomColor { CGFloat r = arc4random() % 256 / 255.0; CGFloat g = arc4random() % 256 / 255.0; CGFloat b = arc4random() % 256 / 255.0; return [UIColor colorWithRed:r green:g blue:b alpha:1]; } 调用:[[self randomColor] set]; 使程序崩溃提醒 i

随机颜色的产生

1.产生随机颜色: -(UIColor *)randomColor{  //产生随机颜色 static BOOL seed = NO; if (!seed) { seed = YES; srandom(time(NULL)); } CGFloat red = (CGFloat)random()/(CGFloat)RAND_MAX; CGFloat green = (CGFloat)random()/(CGFloat)RAND_MAX; CGFloat blue = (CGFloat)random

随机颜色-js

function ramColor() {            return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).slice(-6);        } 随机颜色-js,布布扣,bubuko.com

iOS状态栏颜色

下面截图给出修改 iOS 状态栏颜色的 4 种方式 Target.png Info.plist.png Storyboard.png code.png 其中第四张图中的代码,直接写在你的任何一个 ViewController 的 class 里面就可以. 然而,以上 4 种方法存在两个问题:1.无法在某一个 ViewController 里面任意切换2.优先级不够高,可能会失效 下面祭出第 5 种方法:首先去 Info.plist 里面,把 UIViewControllerBasedStatus

echarts之词云随机颜色的配置

echarts中的词云字体产生随机颜色,最主演的是要引入worldcloud.js,另外还要有jquery.js文件与echarts.js文件的引入,通过配置即可实现词云随机颜色的产生.下面为大家介绍两种随机颜色的方法. world.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</tit