我们如何反转十六进制颜色代码?

Ash*_*iya 2 android hex colors

我的 Web API 将发送我的视图的背景颜色,背景颜色范围是从白色#ffffff到黑色#000000。所以我无法为我的信息文本设置任何固定文本颜色。设置文本颜色的最佳方法是什么?我正在考虑反转背景颜色并将其设置为我的文本颜色。但我不知道如何反转任何颜色或十六进制颜色代码。

例如,如果我的网页(背景)颜色是#00ff11,那么我的文本颜色将为#ff00ee。

为此,我在堆栈中进行搜索,但没有找到任何颜色转换的方法。

谢谢

小智 5

尝试这个。

这将为您的十六进制颜色提供 RGB。现在您可以如下反转颜色。

int invertColor(String myColorString) {

    int color = (int)Long.parseLong(myColorString, 16);
    int r = (color >> 16) & 0xFF;
    int g = (color >> 8) & 0xFF;
    int b = (color >> 0) & 0xFF;
    int invertedRed = 255 - r;
    int invertedGreen = 255 - g;
    int invertedBlue = 255 - b;

    int invertedColor = Color.rgb(invertedRed, invertedGreen, invertedBlue);

    return invertedColor.toString();
}
Run Code Online (Sandbox Code Playgroud)