Как я получаю красный зеленый синий (RGB) и альфу назад от объекта UIColor?

У меня было много проблем с этим видом процесса под окнами; Моя ситуация немного отличалась в этом, я не заботился об ответе "сценария" - я хотел, чтобы сценарий запустил и позволил другим запросам страницы проходить, в то время как это было занято, работая далеко.

По некоторым причинам; у меня были проблемы с ним или зависание других запросов или таймаут приблизительно после 60 секунд (и апач и php, были установлены испытать таймаут приблизительно после 20 минут); также оказывается, что Firefox испытывает таймаут после 5 минут (по умолчанию) так или иначе поэтому после той точки Вы не можете знать то, что продолжается через браузер, не изменяя настройки в Firefox.

я закончил тем, что использовал открытый процесс и процесс близкие методы для открытия php в cli режиме как так:

pclose(popen("start php myscript.php", "r"));

Это было бы (использование запуститься), открывают процесс php и затем уничтожают процесс запуска, уезжая php работающий за однако долго, этому было нужно - снова необходимо будет уничтожить процесс для ручного завершения работы его. Этому не были нужны Вы для установки любого времени outs, и Вы могли позволить текущей странице, которая звонила, это продолжает и произвело еще некоторые детали.

единственная проблема с этим - то, что, если бы необходимо отправить сценарию какие-либо данные, Вы или сделали бы это через другой источник или передали бы его вдоль "командной строки" как параметры; который не так безопасен.

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

54
задан pkamb 7 December 2018 в 17:09
поделиться

2 ответа

The reason for the crash when accessing SelectedColor.CGColor could be that you do not retain the result from getColor, perhaps what you need is:

SelectedColor = [[(ColorPickerView *)alertView getColor] retain];

You can only get the RGB color component from a UIColor that is using the RGB color space, since you are using colorWithRed:green:blue:alpha: that is not a problem, but be vary of this if your code changes.

With this is mind getting the color components is really easy:

const CGFloat* components = CGColorGetComponents(SelectedColor.CGColor);
NSLog(@"Red: %f", components[0]);
NSLog(@"Green: %f", components[1]); 
NSLog(@"Blue: %f", components[2]);
NSLog(@"Alpha: %f", CGColorGetAlpha(SelectedColor.CGColor));
114
ответ дан 7 November 2019 в 07:41
поделиться

I think you should have a a look here, where Ars' guide shows how to extend the UIColor class with support for accessing the color components.

4
ответ дан 7 November 2019 в 07:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: