使用mac 取色器获取NSColor色值的注意点
2017-03-15 本文已影响431人
MacLeon
mac有自带的取色器:

我们可以用它来获取一些我们不知道的参考色值,并结合
NSColor的colorWithRed:green:blue:alpha:方法
来创建我们想要的颜色。
然而初次使用的同学总是发现不能根据获取的色值获得正确的NSColor,可能的原因有如下:
1、取色器色值未按原生值显示,正确的设置如下:

2、在使用NSColor的colorWithRed:green:blue:alpha:方法时,对色值未除以255.0,正确的用法如下:
[NSColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha/1.0]
当然,如果会频繁使用到这个方法来创建颜色,重复的写上"/255.0"就显得很烦,此时我们可以创建一个NSColor的category,来小小的简化一下子,如:
NSColor+LY.h
#import <Cocoa/Cocoa.h>
@interface NSColor (LY)
+ (NSColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue Alpha:(CGFloat)alpha;
@end
NSColor+LY.m
#import "NSColor+LY.h"
@implementation NSColor (LY)
+ (NSColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue Alpha:(CGFloat)alpha {
return [NSColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha/1.0];
}
@end