Есть ли проблема с CGColorGetComponents?

Когда я вызываю 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 установлены так, как и следовало ожидать. Но опять же, черно-белое изображение дает странные результаты. Есть ли какие-то проблемы с этой функцией или есть какое-то обходное решение / задача, которую я должен выполнить?

18
задан MarqueIV 11 February 2012 в 08:04
поделиться