Создание цвета RGB в xcode

Я использую RGB-значения цвета из фотомагазина и использую те же самые значения в xcode. Color-R-160, G-97, B-5 ... цвет в фотошопе кажется желтоватым, но в xcode при использовании

<code>myLabel.textColor= [UIColor colorWithRed:160 green:97 blue:5 alpha:1] ;
</code>

цвет кажется беловатым.

Почему эта разница происходит?

 amar15 февр. 2014 г., 13:47
 amar30 апр. 2012 г., 08:11
Спасибо за помощь:)

Ответы на вопрос(5)

но если тебе не нравитсяUIColor интерфейс, как я, вы можете сделать это:

#import "UIColor+Helper.h"
// ...
myLabel.textColor = [UIColor colorWithRGBA:0xA06105FF];

UIColor + helper.h:

#import <UIKit/UIKit.h>

@interface UIColor (Helper)
+ (UIColor *)colorWithRGBA:(NSUInteger)color;
@end

UIColor + Helper.m:

#import "UIColor+Helper.h"

@implementation UIColor (Helper)

+ (UIColor *)colorWithRGBA:(NSUInteger)color
{
    return [UIColor colorWithRed:((color >> 24) & 0xFF) / 255.0f
                           green:((color >> 16) & 0xFF) / 255.0f
                            blue:((color >> 8) & 0xFF) / 255.0f
                           alpha:((color) & 0xFF) / 255.0f];
}

@end

16 бит ... какое-то нелепое число. От 0 до 65 000 ок.

32 бита - от 0 до 1

Я использую .004 с 32-битными изображениями ... в результате получается 1,02 при умножении на 255

диапазон [0,1]

Плагин выбора цвета для Interface Builder

Есть хорошая палитра цветов от Panic, которая хорошо работает с IB:http: //panic.com/~wade/picker

Xcode плагин

Это дает вам графический интерфейс для выбора цветов:http: //www.youtube.com/watch? v = eblRfDQM0Go

Ко

UIColor *color = [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1.0];

Стручки и библиотеки

Есть хорошая стручок по имениMPColorTools: https: //github.com/marzapower/MPColorTool

Решение Вопроса
Objective-C

0. Так что разделите значения RGB на 255.

myLabel.textColor= [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1] ;

Обновить

Вы также можете использовать этот макрос

#define Rgb2UIColor(r, g, b)  [UIColor colorWithRed:((r) / 255.0) green:((g) / 255.0) blue:((b) / 255.0) alpha:1.0]

и ты можешь позвонить любому из твоего класса, как этот

 myLabel.textColor = Rgb2UIColor(160, 97, 5);
Swift

Это нормальный цветовой синакс

myLabel.textColor = UIColor(red: (160/255.0), green: (97/255.0), blue: (5/255.0), alpha: 1.0) 
//The values should be between 0 to 1

Свифт не очень дружит с макросами

акросы @Complex используются в C и Objective-C, но не имеют аналогов в Swift. Сложные макросы - это макросы, которые не определяют константы, включая заключенные в скобки функциональные макросы. Вы используете сложные макросы в C и Objective-C, чтобы избежать ограничений проверки типов или избежать повторного ввода большого количества стандартного кода. Однако макросы могут затруднить отладку и рефакторинг. В Swift вы можете использовать функции и шаблоны для достижения тех же результатов без каких-либо компромиссов. Поэтому сложные макросы в исходных файлах C и Objective-C недоступны для вашего кода Swift.

Так что мы используем расширение для этого

extension UIColor {
    convenience init(_ r: Double,_ g: Double,_ b: Double,_ a: Double) {
        self.init(red: r/255, green: g/255, blue: b/255, alpha: a)
    }
}

Ты можешь использовать это как

myLabel.textColor = UIColor(160.0, 97.0, 5.0, 1.0)
 nipponese17 дек. 2013 г., 03:14
Какой смысл иметь дробное значение цвета? Я не могу вывести любое такое значение в Photoshop?
 Fahim Parkar31 дек. 2014 г., 15:07
+ 1: для макроса ..
 jweyrich06 янв. 2014 г., 18:09
@ nipponese: причина использования рациональных значений цвета в том, что это упрощает и ускоряет умножение каналов. Например, для смешивания.UIColor представляет цвет RGB (A) с использованием диапазона [0..1]. Вышеприведенные вычисления просто масштабируют каждый канал из диапазона [0..255] в диапазон [0..1]. В Photoshop вы используете диапазон [0..255] (например,rgba(160, 97, 5, 1)) или его шестнадцатеричный эквивалент (например,#A06105FF).
 Mani28 дек. 2014 г., 17:18
Мне просто нужен макрос:)
 Supertecnoboff18 мар. 2014 г., 17:24
Отличное спасибо за ответ

Ваш ответ на вопрос