Convert RGBA values to hex color code

醉酒当歌 提交于 2019-11-29 14:41:38

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.

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)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!