¿Hay alguna manera de generar un color desde cualquier String en Java/Android como una función Encrypt/Hash?Android/Java: Convierta cualquier cadena en color (hexadecimal)
Ejemplo: La cadena "Inicio" genera un color como "# FF1234".
la cadena "Sky" genera un color como "# 00CC33" ...
Sin randomize. Por lo tanto, el sistema siempre calculará los mismos colores para que las cadenas
Gracias
EDIT: Las cadenas se definen libremente por el usuario
Probablemente se podría definir un mapa hash en alguna parte que se asigna a las cadenas de colores, aunque habría que llenar usted mismo La clase de color predeterminada de Java ya tiene algunos colores predeterminados definidos, aunque nada loco como "Cielo".Son cosas como "Rojo" y "LightGray" –
Claro, puedes definir cualquier función matemática que quieras combinar los caracteres en un valor de 24 bits (sin alfa) o 32 bits (si quieres alfa), luego aplica eso como color para la palabra. Una función hash también podría funcionar, y lo más probable es que obtenga una mejor dispersión del color en todo el rango de color (capaz en las computadoras de hoy en día). Un hash como CUALQUIER función matemática que NO use una entrada aleatoria dará como resultado siempre el mismo color para esa cadena de entrada. Lo único que podría ser mayúsculas para mirar. – trumpetlicks
@Hans - un mapa HASH sería extremadamente grande si su entrada fuera una palabra arbitraria. Es mejor calcular el hash y aplicar cualquier parte estática (la digestión será mayor que 32 o 24 bits) de los bits de salida del resumen a un valor de color. Pude ver potencialmente el uso de un CRC más simple o algo así, pero la distancia entre los valores no sería tan buena como para un HASH. – trumpetlicks