iOS 9.3 Управление цветом / Профили
У меня есть много приложений, которые полагаются на проверку значений RGB на основе постучал пикселей. Если я нажимаю на пиксель, который возвращает 128/128/138, то он открывает эту конкретную вещь из массива. С 9.3 это больше не работает, так как я получаю сумасшедшие значения цвета.
Я немного покопался и обнаружил, что в iOS теперь есть поддержка цветового профиля. Мои файлы не имеют никакого профиля. Кажется, это проблема.
Каждый дисплей, начиная с Retina 3, возвращал немного разные насыщенности, которые я должен был отрегулировать. Но это показывает гораздо большую проблему (по крайней мере для меня).
Есть ли способ отключить управление цветовым профилем в iOS 9.3? Если да, может быть, проверить, на какой ОС я работаю, и отключить ее только тогда? Или, может быть, добавить профиль (игнорируемый в 9.3, который так хорош там), который заставит их работать на 9.3?
Спасибо
1 ответ
Лучше всего конвертировать все, что вы рисуете на экране (а затем выбирать в виде пикселей), в цветовое пространство, возвращаемое CGColorSpaceCreateDeviceRGB(). Используя это цветовое пространство, система компоновки будет знать, что больше не будет выполнять преобразования ваших данных.
Непосредственно из документов: "Цвета в зависящем от устройства цветовом пространстве не преобразуются и не изменяются иным образом при отображении на устройстве вывода...".