使用mac 取色器获取NSColor色值的注意点

mac有自带的取色器:

屏幕快照 2017-03-15 下午3.58.37.png

我们可以用它来获取一些我们不知道的参考色值,并结合

NSColor的colorWithRed:green:blue:alpha:方法

来创建我们想要的颜色。

然而初次使用的同学总是发现不能根据获取的色值获得正确的NSColor,可能的原因有如下:

1、取色器色值未按原生值显示,正确的设置如下:

屏幕快照 2017-03-15 下午4.03.24.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 写在前面的话 上一篇文章对简单滤镜实现有一定的讲解,那么这一篇则是对图像处理更加深层次的说明,对于一张图片怎么处理...
    前世小书童阅读 5,503评论 8 32
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,613评论 6 30
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,588评论 25 709
  • 文/简晓 “平庸”这个话题,其实早就想聊聊,可也惧怕面对,内心一直在挣扎。 年少时,总觉得跟别人不一样,我就是独立...
    清醒过来的猫阅读 276评论 0 0