Неправильно раскрасьте Интерфейсного Строителя

The problem: I set a color in Interface Builder, setting the channels RGB, then I do a screenshot of the working window, open it in Photoshop and check color by color picker, which I have set in Interface Builder. The result - the RGB values ​​are different from the ones I set.

Video: http://www.youtube.com/watch?v=ASLfnYHPbqM

Самый неправильный начинается с 45-й секунды, когда я пытался использовать палитру цветов Интерфейсного Строителя. Это показывает, что ​​ ценностей RGB отличаются от тех, которые у меня есть в нем то же самое и установленный), но ценности ​​ сolor сборщика IB совпадают с ценностями ​​ Фотошопа палитры цветов.

32
nl ja de
Профилирование Цвета @jurgemaister не боль в заднице. Цветное профилирование состоит в том так, чтобы, когда вы выбираете цвет на своей системе, цвет выглядел одинаково на экране пользователя, у которого могут быть совсем другие цветовые характеристики, чем ваш экран. Большинство людей дает проклятое, каковы точные ценности RGB, они заботятся намного больше, что каждый пользователь видит тот же самый цвет на своем экране, независимо какие ценности RGB необходимы, чтобы достигнуть этого. Если бы каждый пользователь использовал калиброванный экран, то действительно каждый пользователь видел бы в значительной степени тот же самый цвет на своем экране, хотя ценности RGB должны отличаться для этого.
добавлено автор Mecki, источник
@jurgemaister, Смешивающий набор цветов проблематично (и Интерфейсный Строитель учитывается здесь, также) с цветами от изображений, которые вы создали в Фотошопе, является проблемой, но проблема - Фотошоп здесь, который настаивает на том, чтобы работать в его собственных цветовых пространствах, вместо того, чтобы использовать то вашего монитора. На том же самом мониторе, в том же самом цветовом пространстве, всегда выглядят одинаково те же самые ценности RGB, таким образом, все, что было бы необходимо, чтобы сделать много задач легче, является Фотошопом, который работает в цветовом пространстве вашего монитора, как все заявления без собственного цветового пространства, которое делает управление.
добавлено автор Mecki, источник
It' s из-за цветного профилирования и it' s боль в заднице.
добавлено автор Jørgen R, источник
Прочитайте это stackoverflow.com/questions/10039641/…
добавлено автор Jørgen R, источник
@Mecki Вы абсолютно правы. It' s, вероятно, отсутствие цвета, представляющего that' s боль в заднице. Мой пункт - то, что XCode обращается с цветами действительно ужасно и этим doesn' t действительно помогают тому OS X, и ручки iOS окрашивает по-другому. Если показ цветов правильно пользователю важен, вы can' t действительно обходят цветовые профили. Но если ваше главное беспокойство должно сделать те f ** матч цветов фона короля, it' s просто болезненный.
добавлено автор Jørgen R, источник

2 ответы

Apple думает, что намного более важно, чтобы окрасили, выглядят одинаково везде , чем это, у цветов есть те же самые ценности RGB везде. Посмотрите, те же самые ценности RGB не будут выглядеть одинаково на различных экранах, потому что у каждого экрана есть различные особенности показа.

Таким образом, когда вы делаете снимок экрана, Apple только хранит стоимость RGB для каждого пикселя по изображению, они также хранят особенности показа вашего монитора в файле изображения. Для чего это хорошо? Если кто-то еще открывает ваш снимок экрана, система может посмотреть на особенности монитора человека, который создал его, сравните тех с особенностями монитора монитора человека, который хочет наблюдать его и может тогда вычислить, как это должно принимать ценности RGB по изображению так, чтобы изображение выглядело одинаково на текущем мониторе. Если это просто показывало ценности RGB, не делая ни одного из этого, цвета изображения могут выглядеть неправильными (в некоторых случаях незначительно, в некоторых случаях еще немного, и если у пользователя есть очень плохой монитор, в некоторых случаях даже радикально неправильно).

Так система посылают различные ценности RGB в графический адаптер, потому что цвета RGB собой действительно не описывают цвет. Ценности RGB вместе с профилем монитора описывают цвет, а не ценности RGB важны, цвет важен. Если я делаю что-то красным, я хочу, чтобы он был тем же самым оттенком красного на каждом мониторе. Я не хочу, чтобы он был более темно-красным на одном мониторе, более светло-красным на другом мониторе и красным цветом, который является почти розовым на третьем мониторе.

Проблема с Фотошопом состоит в том, что у него есть свой собственный механизм исправления построенного в цвете. Фотошоп обычно работает в sRGB (стандартное цветовое пространство RGB) или Adobe RGB (расширенное цветовое пространство изобретенный Adobe). То, когда вы загружаете изображение, которое не является в пространстве требуемого цвета, Фотошоп преобразует цветовое пространство изображения, и каждое цветовое пространство преобразовывают, заставляет ценности RGB изменяться. Обратите внимание на то, что изображения, показанные в рамках Фотошопа, все еще цветные исправленный согласно вашим текущим цветовым характеристикам монитора, это - просто ценности RGB, которыми вы управляете в рамках Фотошопа, которые находятся в другом цветовом пространстве и, когда сохранено назад, чтобы подать, Фотошоп или преобразует ценности назад, или это будет держать их и включать новый цветовой профиль в файл изображения.

Времена, где RGB один использовался, чтобы описать цвета, много лет уже закончены. Сегодня RGB довольно бессмыслен самостоятельно, только, когда объединено с цветовым профилем, это становится действительно значащим в описании фактического цвета.

Если вы хотите снимок экрана без реального включенного цветового профиля, сделайте следующее:

  1. Открытые "Установки системы"
  2. Идет в "Показы"
  3. Идет в "Цвет"
  4. Избранный "Универсальный Профиль RGB"
  5. Делает ваш снимок экрана </литием>
  6. Изменение ваш профиль назад

Может быть необходимо оставить XCode сначала, прежде чем вы измените профиль (и перезапустите его после того, как вы изменили его назад), так как я не уверен, если изменение профиля имеет непосредственный эффект. Это, конечно, имеет непосредственный эффект, как вещи показаны на вашем мониторе, но если вы хотите выбрать цвет в XCode, выбирая определенные ценности RGB, я не уверен, будет ли изменение профиля иметь непосредственный эффект здесь также (можно дать ему попытку без перезапуска, если это не работает, необходимо повторить его с перезапуском).

Это может все еще вызвать неправильные цвета в Фотошопе, хотя, так как Фотошоп может все еще преобразовать цвета в sRGB или Adobe RGB. Таким образом вместо того, чтобы выбрать "Универсальный Профиль RGB", можно хотеть выбрать профиль "sRGB" (в зависимости от OS X версий, может также быть назван "sRGB IEC61966-2.1"). Таким образом, изображение уже находится в sRGB цветовом пространстве. Только необходимо убедить Фотошоп сохранять его тем путем (и не преобразование его к Adobe RGB), и затем вы будете действительно видеть те же самые ценности RGB в XCode и Фотошопе.

Отметьте, как изменение цветового профиля заставляет ваш показ посмотреть вполне по-другому? Вы думаете, что цветное изменение существенно? Доверяйте мне, который является ничем по сравнению с тем, как различные мониторы могут иногда изменять цвета. Возможно, можно теперь понять, почему коррекция цвета так важна. Таким образом, вопрос, почему ценности RGB так важны для вас во-первых? Действительно имеет значение, что ценности RGB - то же самое, пока показанный цвет - то же самое?

53
добавлено
Также важный, чтобы прочитать это: developer.apple.com/library/ios/technotes/tn2313 / _ индекс html‌ ​ #//… – XCode работает в космосе sRGB, так как это использует управление выбранным цветом для iOS. В результате я получаю наименьшее количество суммы беспорядка и цветовых различий, если я переключаю свой монитор также на пространство sRGB. По крайней мере, в том космическом XCode и матче Симулятора.
добавлено автор David K. Hess, источник
Спасибо, это - единственное решение в сети, которая работает. Ключ должен оставить XCode прежде, чем изменить ваш показ на "Универсальный Профиль RGB". Тогда, когда вы выбираете, "Экономят для сети & Устройств", снимает "Новообращенный к sRGB" флажок. Тогда в XCode, щелкните по всплывающему окну цветового пространства в палитре цветов и выберите "Универсальный RGB", затем войдите в красные, зеленые и синие ценности из Фотошопа, НЕ ШЕСТНАДЦАТЕРИЧНУЮ СТОИМОСТЬ, поскольку это возвращается назад к sRGB цветовому пространству по некоторым причинам (бояться счет к шестнадцатеричной области также как тот также изменения пространство к sRGB).
добавлено автор Zack Morris, источник
Ошеломите +1, теперь я могу заставить набор цветов в интерфейсном строителе соответствовать шестнадцатеричным значениям, которые я установил в коде.
добавлено автор Chris Harrison, источник

Это гид это работает, просто выполните эти шаги, и можно установить UIColor программно и сделать, чтобы они соответствовали цветам из снимка экрана.

enter image description here

12
добавлено
Зафиксируйте: примените в sRGB IEC61966-2.1 профиль (в Xcode 9).
добавлено автор SoftDesigner, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.