作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在移动开发方面已经取得了相当大的进步,可以自己解决问题,但是我在解决这个问题时遇到了很多麻烦...
我正在使用这个宏将 Android 颜色(packed int)转换为 UIColor:
#define ANDROID_COLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0 green:((c>>8)&0xFF)/255.0 blue:((c)&0xFF)/255.0 alpha:((c>>24)&0xFF)/255.0]
但是我还需要将 UIColor 转换为 Android 颜色。很感谢任何形式的帮助!
最佳答案
像这样(未经测试)应该可以工作:
UIColor *color = // your color
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
CGFloat white;
if ([color getWhite:&white alpha:&alpha]) {
red = green = blue = white;
} else {
NSLog(@"Uh oh, not RGB or greyscale");
}
}
long r = red * 255;
long g = green * 255;
long b = blue * 255;
long a = alpha * 255;
long packed_color = (r << 16) | (g << 8) | (b) | (a << 24);
这似乎与您在问题中展示的相反。
关于android - 如何将 UIColor 转换为 Android 颜色(packed int)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22431805/
我是一名优秀的程序员,十分优秀!