व्यापक रूप से उपयोग किए जाने वाले स्ट्रिंग आधारित समाधान के अलावा, यहां एक हेक्स (पूर्णांक) आधारित समाधान है। उपयोग:
UIColor* color = lf_rgb(0x120aef);
log(@"color %.6x", color.hex_rgb);
और आपको "रंग 120aef" मिलेगा। मैं https://github.com/superarts/LCategory में इन कोड डाल देता हूँ, या आप अपने स्वयं कोड बैंक में भी कॉपी-पेस्ट कर सकते हैं:
#define lf_rgb(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]
@interface UIColor (lc_rgb)
- (NSInteger)hex_rgb;
@end
@implementation UIColor (lc_rgb)
- (NSInteger)hex_rgb
{
CGFloat r, g, b, a;
BOOL result = [self getRed:&r green:&g blue:&b alpha:&a];
// log(@"rgba: %f, %f, %f, %f", r * 255, g * 255, b * 255, a * 255);
if ((result == NO) || (a != 1.0f))
return -1;
return
(NSInteger)(r * 255) * 256 * 256 +
(NSInteger)(g * 255) * 256 +
(NSInteger)(b * 255) * 1;
}
@end
स्रोत
2014-09-09 10:32:01
महान लाइब्रेरी के रूप में बाहर आता है। इसके लिए धन्यवाद। – fes
कोई समस्या नहीं है। उम्मीद करते है कि यह आपके लिए काम करें! – lewiguez