私はデータベースに、1 つのフィールドが関連する色の ARGB 値であるいくつかの行を持っています。
これらのテーブルのすべての行を読み取り、ARGB 値の 10 進数を UIColor に変換する必要があります。
私はこれを見つけてグーグルで検索しましたが、しませんでした。
これにアプローチする方法はありますか?
ありがとう。
私はデータベースに、1 つのフィールドが関連する色の ARGB 値であるいくつかの行を持っています。
これらのテーブルのすべての行を読み取り、ARGB 値の 10 進数を UIColor に変換する必要があります。
私はこれを見つけてグーグルで検索しましたが、しませんでした。
これにアプローチする方法はありますか?
ありがとう。
ARGB整数をUIカラーに変換するために私が思いついた方法は次のとおりです。.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];
}
text.color = [UIColor colorWithRed:10.0/255.0 green:100.0/255.0 blue:55.0/255.0 alpha:1];
正しくセットアップするには、RGB 値を 255 で割るだけです。
マクロを定義して、コード全体で使用できます
#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]