2017-06-06 180 views
-1

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

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

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

谢谢

+0

编程的基础知识:**二进制/按位取反** ...如果你想知道Java的基本知识那么你会知道有这个运算符 – Selvin

+0

其实,我是IOS开发人员,帮助我的朋友从背景颜色获取文本颜色。 –

+0

大声笑... Swift有位运算符也没有...它和Java,C,C#,Objective-C,Python一样... – Selvin

回答

0

试试这个。

这将给你的十六进制颜色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(); 
} 
+0

让我检查一下,请给我几分钟。 –

1
private PaintType getNegativePaintType(String hexa) { 
    int color = Color.parseColor(hexa); 
    return new SolidColor((color & 0xFF000000) | (~color & 0x00FFFFFF)); 
} 

getNegativePaintType( “#00ff11”)将返回“#ff00ee”

+0

请给我一点时间,让我试试这个 –

相关问题