gpt4 book ai didi

android - 如何将 UIColor 转换为 Android 颜色(packed int)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:02:14 27 4
gpt4 key购买 nike

我在移动开发方面已经取得了相当大的进步,可以自己解决问题,但是我在解决这个问题时遇到了很多麻烦...

我正在使用这个宏将 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com