Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting a hex value from NSColor in Cocoa?

Does anyone know if it's possible to get a hexadecimal value of the color from NSColor in Cocoa?

like image 866
Eugene Gordin Avatar asked Dec 01 '22 21:12

Eugene Gordin


2 Answers

Example using blue NSColor:

NSColor* color = [NSColor blueColor];

NSString* hexString = [NSString stringWithFormat:@"%02X%02X%02X", 
(int) (color.redComponent * 0xFF), (int) (color.greenComponent * 0xFF), 
(int) (color.blueComponent * 0xFF)];
like image 148
SG1 Avatar answered Dec 04 '22 06:12

SG1


I like D.A.H 's solution and I make it a computed property instead of a function:

import Cocoa

extension NSColor {

    var hexString: String {
        let red = Int(round(self.redComponent * 0xFF))
        let green = Int(round(self.greenComponent * 0xFF))
        let blue = Int(round(self.blueComponent * 0xFF))
        let hexString = NSString(format: "#%02X%02X%02X", red, green, blue)
        return hexString as String
    }

}
like image 26
Tyler Liu Avatar answered Dec 04 '22 05:12

Tyler Liu