Создать объект UIColor из значения ARGB - PullRequest
2 голосов
/ 24 февраля 2012

В базе данных есть несколько строк, в которых одно поле является значением ARGB для связанного цвета.

Мне нужно прочитать все строки этой таблицы и преобразовать десятичное значение ARGB в UIColor.

Я нашел это в Google, но не смог.

Есть ли способ приблизиться к этому?

Спасибо.

Ответы [ 3 ]

13 голосов
/ 18 мая 2012

Вот метод, который я придумал, чтобы преобразовать целое число ARGB в цвет пользовательского интерфейса.Протестировал его на нескольких цветах, которые мы имеем в нашей системе .NET

+(UIColor *)colorFromARGB:(int)argb {
    int blue = argb & 0xff;
    int green = argb >> 8 & 0xff;
    int red = argb >> 16 & 0xff;
    int alpha = argb >> 24 & 0xff;

    return [UIColor colorWithRed:red/255.f green:green/255.f blue:blue/255.f alpha:alpha/255.f];
}
2 голосов
/ 24 февраля 2012
text.color = [UIColor colorWithRed:10.0/255.0 green:100.0/255.0 blue:55.0/255.0 alpha:1];

Вам просто нужно разделить значения RGB на 255, чтобы все правильно настроить.

1 голос
/ 12 августа 2015

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

#define UIColorFromARGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:((float)((rgbValue & 0xFF000000) >> 24))/255.0]
...