Как получить компоненты RGB пользовательского цвета в ios

Я хотел бы настроить пользовательский цвет программно, используя метод [UIColor colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha];
Для чего мне нужно знать значение компонентов RBG.
Я хотел бы знать, есть ли способ, с помощью которого я могу получить компоненты RBG пользовательского цвета, чтобы я мог использовать их в вышеупомянутом методе.

Ответ 1

Вы можете использовать DigitalColor Meter.app, входящий в комплект каждой установки Mac OS X. Вы можете найти его в ~/Applications/Utilities/DigitalColor Meter.app. Используйте его для проверки значений RGB любого пикселя, на который вы наводите мышь. Когда у вас есть значения, вам просто нужно разделить их на 255.0, потому что +colorWithRed:green:blue:alpha: ожидает значение с плавающей запятой между 0 и 1.

[UIColor colorWithRed:83.0f/255.0f green:217.0f/255.0f blue:58.0f/255.0f alpha:1.0f];

Ответ 2

Вы можете использовать сам Xcode, чтобы получить значение RGB пользовательского цвета:

Щелкните стрелку для поля "Цвет", и в появившемся диалоговом окне выберите другие. enter image description here

И затем вы можете использовать параметр RGB Slider для получения значений RGB

enter image description here

Ответ 3

Чтобы точно соответствовать цвету, есть большая утилита под названием "DigitalColor Meter", расположенная в приложениях/утилитах/, которая может получить RGB для чего-либо на вашем экране. Сделайте снимок экрана, который вы хотите воспроизвести, затем используйте этот инструмент, чтобы получить информацию.

Ответ 4

На самом деле для использования DigitalColor Meter не требуется, вместо этого мы можем использовать небольшую иконку поиска search icon на панели выбора цветов в интерфейсе Builder, с помощью которого мы можем точно настроить цвет, который нам нравится. Также можно искать значения цвета, используя имеющиеся в нем шкалы RBG.

Ответ 5

У меня было подобное требование, поэтому создайте свою собственную функцию здесь, которая будет извлекать RGB и создавать ее контраст.