Создание NSColor со значением RGB - PullRequest
13 голосов
/ 21 декабря 2009

Как мне создать NSColor из значения RGB?

Ответы [ 4 ]

16 голосов
/ 21 декабря 2009

В документации NSColor :

NSColor *myColor = [NSColor colorWithCalibratedRed:redValue green:greenValue blue:blueValue alpha:1.0f];
8 голосов
/ 06 ноября 2014

Также не забудьте выполнить следующее преобразование из фактических значений RGB, которые вы получаете, скажем, из Photoshop ...

RGB (226, 226, 226) может быть создан как NSColor, используя значения:

Red:   226/255 = 0.886... 
Green: 226/255 = 0.886...
Blue:  226/255 = 0.886... 

[NSColor colorWithDeviceRed:0.886f green:0.886f blue:0.886f alpha:1.0f];

Почему 255? 8-битные цветовые каналы варьируются от 0 до 255 (включительно). При нормализации это масштабируется до диапазона [0,1] (включительно). См. Ссылки для преобразований из нормализованных значений в ненормализованные значения и наоборот.

Ссылки

4 голосов
/ 21 декабря 2009
float red = 0.5f;
float green = 0.2f;
float blue = 0.4f;
float alpha = 0.8f;

NSColor *rgb = [NSColor colorWithDeviceRed:red green:green blue:blue alpha:alpha];
0 голосов
/ 25 августа 2016

Удлинитель для Swift 2

extension NSObject {
    func RGB(r:CGFloat, g:CGFloat, b:CGFloat, alpha:CGFloat? = 1) -> NSColor {
        return NSColor(red: r/255, green: g/255, blue: b/255, alpha: alpha!)
    }
}

Тогда просто позвоните

RGB(r: 16, g: 105, b: 125)

или

RGB(r: 16, g: 105, b: 125, alpha: 0.5)
...