2013-11-23 3 views
0

У меня очень простой метод, который устанавливает цвет r, g и b. Это следующий:RGB цвет некорректный?

-(void)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue{ 
    r = red; 
    g = green; 
    b = blue; 

    NSLog(@"R: %f, G: %f, B: %f",r,g,b); 
} 

R, G, B, и O (непрозрачность) являются свойства с плавающей точкой в ​​моем пользовательском подклассе UIView. Я использую рисовать прямоугольник, как следующее:

CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), r, b, g, o); 

Когда я вызываю метод, который я делаю это так:

[self.drawingBox colorWithRed:255.0/255.0 green:59.0/255.0 blue:48.0/255.0]; 
NSLOG: R: 1.000000, G: 0.231373, B: 0.188235 

Это работает правильно и возвращает красный цвет, с которым я рисовать.

К сожалению, всякий раз, когда я называю что-либо еще, он не возвращает желаемый цвет, даже если он не регистрирует правильный цвет. Например,

[self.drawingBox colorWithRed:255.0/255.0 green:149.0/255.0 blue:0.0/255.0]; 

Возвращает фиолетовый цвет, когда на самом деле он должен быть оранжевым. Когда он получает nslogged, это то, что входит в оранжевый цвет:

R: 1.000000, G: 0.584314, B: 0.000000 

Любые идеи о том, почему второй раз она возвращает фиолетовый вместо оранжевого (NSLog правильный цвет)?

ответ

1

Передача параметров: CGContextSetRGBStrokeColor в неправильном порядке. Попробуйте следующее:

CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), r, g, b, o); 
+0

Я чувствую себя настолько глупо. Я просто набрал слишком быстро! Спасибо, согласится, когда истечет срок! –

Смежные вопросы