2016-05-09 22:48:49 l2i2j2 阅读数 602
- (void)RGBWithHexColor:(int)hexColor {
    int red = ((hexColor & 0xFF0000) >> 16);
    int green = ((hexColor & 0xFF00) >> 8);
    int blue = (hexColor & 0xFF);
    NSLog(@"red:%d  green:%d  blue:%d", red, green, blue);
}

2018-10-14 22:59:13 Zllvincent 阅读数 8341

iOS开发一般都是用到RGB颜色,美工给我们作图的时候往往给我们的色值都是十六进制的颜色如 #ff0000,如果先把16进制转换为RGB 的10 进制那将是非常麻烦的事,我们可以为 UIColor 添加一个扩展类(UIColor+Ext.swift)实现16进制颜色

import UIKit

extension UIColor {
  
    static func hexColor(_ hexValue:Int) -> UIColor {

    	return UIColor(red: ((CGFloat)((hexValue & 0xFF0000) >> 16)) / 255.0,
                   green: ((CGFloat)((hexValue & 0xFF00) >> 8)) / 255.0,
                   blue: ((CGFloat)(hexValue & 0xFF)) / 255.0,
                   alpha: 1.0)
    }
}

UIColor.hexColor(0xf55a5d)

UIColor.hexColor(0xf55a5d)

即可方便使用颜色

如果对您有帮助,点个赞支持 奶茶37.2℃ 创作更优秀的博文

2017-06-01 11:21:16 CC1991_ 阅读数 5114

iOS开发中,除了使用固定的基本颜色之外,常常也需要使用自定义的颜色,那么这就涉及到了RGB的色值使用问题。

一、对RGB的色值使用的时候,可将对颜色的设置定义成宏(设置宏定义),方便开发使用,eg:

1.获取RGB颜色:
#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
#define RGB(r,g,b) RGBA(r,g,b,1.0)
2.RGB颜色转换(16进制-->10进制):
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
 

二、给控件设置RGB颜色:

UIColor本身就自带一些常用基本的颜色,eg:whiteColor,blueColor,orangeColor等,但是使用自定义颜色的时候就用到通过16进制颜色转换成RGB值才能使用。举个简单的例子,eg:给Label直接设置一个自定义颜色:

UILabel *label = [[UILabel alloc] initWithName:@"Label" size:15.0];
label.textColor = [UIColor colorWithRed:139.0/255 green:188.0/255 blue:138.0/255 alpha:1];

三、将颜色值 # 转 成RGB的方法:

将一个“#FF0000”转换成 RGB方法
NSString *str = @“#FF0000”;
// 将str转换成十六进制数
[str replaceCharactersInRange:[color rangeOfString:@"#" ] withString:@"0x"];
// 将十六进制字符串转成整型
long colorLong = strtoul([color cStringUsingEncoding:NSUTF8StringEncoding], 0, 16);
// 再通过位与方法获取三色值
int R = (colorLong & 0xFF0000 )>>16;
int G = (colorLong & 0x00FF00 )>>8;
int B = colorLong & 0x0000FF;
//将string转换成color
UIColor *wordColor = [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:1.0];

四、推荐一个很吊的RGB与16进制色互转的网站

RGB与16进制色互转网址: http://tool.css-js.com/rgba.html


五、XIB里面给控件设置RGB色值的方法

打开xib,然后点击选择控件,在右侧的工具栏里面找到属性栏,Background里面点击下拉菜单,找到Other选项,会弹出一个设置弹框,然后找到RGB Sliders选项,然后修改里面的RGB色值,即可设置控件的自定义颜色了。具体步骤如下:







附:RGB色值表

R
G
B
 
R
G
B
 
R
G
B
黑色
0
0
0
#000000
黄色
255
255
0
#FFFF00
浅灰蓝色
176
224
230
#B0E0E6
象牙黑
41
36
33
#292421
香蕉色
227
207
87
#E3CF57
品蓝
65
105
225
#4169E1
灰色
192
192
192
#C0C0C0
镉黄
255
153
18
#FF9912
石板蓝
106
90
205
#6A5ACD
冷灰
128
138
135
#808A87
dougello
235
142
85
#EB8E55
天蓝
135
206
235
#87CEEB
石板灰
112
128
105
#708069
forum gold
255
227
132
#FFE384
         
暖灰色
128
128
105
#808069
金黄色
255
215
0
#FFD700
青色
0
255
255
#00FFFF
         
黄花色
218
165
105
#DAA569
绿土
56
94
15
#385E0F
白色
225
225
225
#FFFFFF
瓜色
227
168
105
#E3A869
靛青
8
46
84
#082E54
古董白
250
235
215
#FAEBD7
橙色
255
97
0
#FF6100
碧绿色
127
255
212
#7FFFD4
天蓝色
240
255
255
#F0FFFF
镉橙
255
97
3
#FF6103
青绿色
64
224
208
#40E0D0
白烟
245
245
245
#F5F5F5
胡萝卜色
237
145
33
#ED9121
绿色
0
255
0
#00FF00
白杏仁
255
235
205
#FFFFCD
桔黄
255
128
0
#FF8000
黄绿色
127
255
0
#7FFF00
cornsilk
255
248
220
#FFF8DC
淡黄色
245
222
179
#F5DEB3
钴绿色
61
145
64
#3D9140
蛋壳色
252
230
201
#FCE6C9
         
翠绿色
0
201
87
#00C957
花白
255
250
240
#FFFAF0
棕色
128
42
42
#802A2A
森林绿
34
139
34
#228B22
gainsboro
220
220
220
#DCDCDC
米色
163
148
128
#A39480
草地绿
124
252
0
#7CFC00
ghostWhite
248
248
255
#F8F8FF
锻浓黄土色
138
54
15
#8A360F
酸橙绿
50
205
50
#32CD32
蜜露橙
240
255
240
#F0FFF0
锻棕土色
135
51
36
#873324
薄荷色
189
252
201
#BDFCC9
象牙白
250
255
240
#FAFFF0
巧克力色
210
105
30
#D2691E
草绿色
107
142
35
#6B8E23
亚麻色
250
240
230
#FAF0E6
肉色
255
125
64
#FF7D40
暗绿色
48
128
20
#308014
navajoWhite
255
222
173
#FFDEAD
黄褐色
240
230
140
#F0E68C
海绿色
46
139
87
#2E8B57
old lace
253
245
230
#FDF5E6
玫瑰红
188
143
143
#BC8F8F
嫩绿色
0
255
127
#00FF7F
海贝壳色
255
245
238
#FFF5EE
肖贡土色
199
97
20
#C76114
         
雪白
255
250
250
#FFFAFA
标土棕
115
74
18
#734A12
紫色
160
32
240
#A020F0
         
乌贼墨棕
94
38
18
#5E2612
紫罗蓝色
138
43
226
#8A2BE2
红色
255
0
0
#FF0000
赫色
160
82
45
#A0522D
jasoa
160
102
211
#A066D3
砖红
156
102
31
#9C661F
马棕色
139
69
19
#8B4513
湖紫色
153
51
250
#9933FA
镉红
227
23
13
#E3170D
沙棕色
244
164
96
#F4A460
淡紫色
218
112
214
#DA70D6
珊瑚色
255
127
80
#FF7F50
棕褐色
210
180
140
#D2B48C
梅红色
221
160
221
#DDA0DD
耐火砖红
178
34
34
#B22222
                 
印度红
176
23
31
#B0171F
蓝色
0
0
255
#0000FF
       
栗色
176
48
96
#B03060
钴色
61
89
171
#3D59AB
       
粉红
255
192
203
#FFC0CB
dodger blue
30
144
255
#1E90FF
       
草莓色
135
38
87
#872657
jackie blue
11
23
70
#0B1746
       
橙红色
250
128
114
#FA8072
锰蓝
3
168
158
#03A89E
       
蕃茄红
255
99
71
#FF6347
深蓝色
25
25
112
#191970
       
桔红
255
69
0
#FF4500
孔雀蓝
51
161
201
#33A1C9
       
深红色
255
0
255
#FF00FF
土耳其玉色
0
199
140
#00C78C




2017-02-10 15:54:49 qq_28009573 阅读数 485

针对UI给的标注图上,色值给的都是16进制的,如#ED145B,#000000等等, 那么我们在代码中应该怎么使用这一色值呢?下面给出几种方案以供参考!

1.
写一个宏定义:

#define UGUColorFromRGB_0x(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

使用:

moreLabel.textColor = UGUColorFromRGB_0x(0x666666);

这样就可以为该控件设置字体颜色了

2.自己写一个转换方法 调用

#pragma mark - 16进制转RGB
+ (UIColor *)getColorWithHexStr:(NSString *)hexColor {
    if([hexColor containsString:@"#"]){
        //去掉#
        hexColor = [hexColor substringFromIndex:1];
    }
    unsigned int red, green, blue;
    NSRange range;
    range.length =2;

    range.location =0;
    [[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&red];
    range.location =2;
    [[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&green];
    range.location =4;
    [[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&blue];

    return [UIColor colorWithRed:(red)/255.f green:(green)/255.f blue:(blue)/255.f alpha:1.f];
}

调用方法:

[_protocolBtn setTitleColor:[BSDTools getColorWithHexStr:@"000000"] forState:UIControlStateNormal];

这样也是可以设置相应控件颜色的!

2015-10-29 16:12:48 xcl725 阅读数 595

iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如:
// RGB颜色转换(16进制->10进制)

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

// 获取RGB颜色

#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]

#define RGB(r,g,b) RGBA(r,g,b,1.0f)

iOS 16进制转UIColor

阅读数 656

16进制转UIColor需要按位转换成RGB

博文 来自: assholeu
没有更多推荐了,返回首页