Convert RGBA values to hex color code

前端 未结 2 1099
青春惊慌失措
青春惊慌失措 2020-12-20 22:18

I have some sliders in my application that allows the user to change ARGB colors, however I need to convert these values to a hex value like 0xff000000, which is solid black

相关标签:
2条回答
  • 2020-12-20 23:01

    The problem is that you are including alpha values. So your maximum color code is #FFFFFFFF (8 digits).

    The method Integer.parseInt will let you parse value from -0x80000000 to 0x7FFFFFFF. In order to get your value 0xCC999999 from it, you would have to negate the value and input -0x33666667 - which is of course not useful at all.

    The clunky but stable workaround is using Long.

    (int) Long.parseLong(text, 16)
    
    0 讨论(0)
  • 2020-12-20 23:15

    The Color parameters must be floats between 1f and 0f. So this is a valid color:

    int color = toHex(new Color(1f, 1f, 1f, 1f));
    

    Which is white.

    0 讨论(0)
提交回复
热议问题