tec*_*0nn 4 ruby java hex colors
有没有办法将任意字符串映射到HEX COLOR代码.我尝试使用字符串哈希码计算字符串的十六进制数.现在我需要将这个十六进制数转换为六位数,这些数字是HEX颜色代码范围.有什么建议 ?
String [] programs = {"XYZ", "TEST1", "TEST2", "TEST3", "SDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"};
for(int i = 0; i < programs.length; i++) {
System.out.println( programs[i] + " -- " + Integer.toHexString(programs[i].hashCode()));
}
Run Code Online (Sandbox Code Playgroud)
M. *_*sup 11
如果你真的不关心颜色的"含义",你可以将int的位分开(删除第一个只用于RGB而不是ARGB)
String [] programs = {"XYZ", "TEST1", "TEST2", "TEST3", "SDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"};
for(int i = 0; i < programs.length; i++) {
System.out.println( programs[i] + " -- " + intToARGB(programs[i].hashCode()));
}
....
public static String intToARGB(int i){
return Integer.toHexString(((i>>24)&0xFF))+
Integer.toHexString(((i>>16)&0xFF))+
Integer.toHexString(((i>>8)&0xFF))+
Integer.toHexString((i&0xFF));
}
Run Code Online (Sandbox Code Playgroud)
怎么样and(hashcode或者0x00FFFFFF如果0xFFFFFF你想默认 Alpha 通道)?例如:
private String getColorCode(String inputString)
{
String colorCode = String.format("#%06x", 0xFFFFFF & inputString.hashCode());
}
Run Code Online (Sandbox Code Playgroud)