Когда я вызываю CGColorGetComponents
с CGColor
, возвращаемым с UIColor
, он работает корректно, за исключением белого и черного.
Здесь код...
CGColorRef myColorRef = [[UIColor whiteColor] CGColor];
const CGFloat * colorComponents = CGColorGetComponents(myColorRef);
NSLog(@"r=%f, g=%f, b=%f, a=%f",
colorComponents[0],
colorComponents[1],
colorComponents[2],
colorComponents[3]);
Этот журнал
r=1.000000, g=1.000000, b=0.000000, a=0.000000
Обратите внимание, что оба B и A равны нулю, а не одному.
Если вы заменяете другие цвета, такие как redColor, blueColor и т.д., это работает... значения RGB и A устанавливаются так, как можно было бы ожидать. Но опять же, черно-белые результаты дают нечетные результаты. Есть ли какая-то проблема с этой функцией или есть ли какое-то решение/задача, которую я должен делать?