2013-09-28 8 views
0

в моем приложении У меня есть некоторые NSColorWells в интерфейсе, но когда я вызываю setColor: NSColor цвет хорошо не меняет цвет. Это метод:[NSColorWell setColor: NSColor]

- (IBAction)randomColor:(id)sender { 
    int size = 255; 
    int R = arc4random_uniform(size); 
    int G = arc4random_uniform(size); 
    int B = arc4random_uniform(size); 
    NSColor *newcolor = [NSColor colorWithCalibratedRed:R green:G blue:B alpha:1.0]; 
    [self.colorwell setColor:newcolor]; 
} 

В чем проблема?

+2

Цветное значение компонента больше 1? –

ответ

3

Что TBlue сказал: Компоненты с NSColor идут от 0,0 до 1,0, а не от 0 до 255. (Кроме того, верхняя граница arc4random_uniform() является то, что результат будет меньше, чем, не то, что максимальное значение из результатом может быть.)

- (IBAction)randomColor:(id)sender { 
    int size = 256; 
    int R = arc4random_uniform(size); 
    int G = arc4random_uniform(size); 
    int B = arc4random_uniform(size); 
    NSColor *newcolor = [NSColor colorWithCalibratedRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:1.0]; 
    [self.colorwell setColor:newcolor]; 
} 
Смежные вопросы