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

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

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

цвет выглядит беловатым.

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

Ответ 1

Objective-C

Вы должны указать значения от 0 до 1.0. Разделите значения RGB на 255.

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

Update:

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

#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

Swift не очень дружит с макросами

Сложные макросы используются в C и Objective-C, но не имеют аналогов в Свифт. Сложные макросы - это макросы, которые не определяют константы, включая скобки, функциональные макросы. Вы используете сложные макросы в 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)

Ответ 2

Вы уже получили правильный ответ, но если вам не нравится интерфейс 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

Ответ 3

Yeah.ios поддерживает RGB-валур для диапазона от 0 до 1... close [0,1]

Ответ 4

Плагин выбора цвета для 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/MPColorTools

Ответ 5

Значения определяются битом изображения. 8 бит от 0 до 255

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

32 бит - от 0 до 1

Я использую .004 с 32-битными изображениями... это дает 1.02 в результате при умножении на 255