PowerShell: Random-ColorHex

Hace poco estuve necesitando generar documentos con HTML y CSS, por lo que tuve que recurrir a, en los casos de formato, los colores hexadecimales. Como PowerShell me permite hacer casi todo lo que necesito la mayoría de las veces, me decidí a crear una función simple para poder generar colores de forma “random”.

Existe la función Get-Random que me permite obtener valores sin ningún criterio aparente. Dentro de las opciones que tenemos en esta función, existe un parámetro que nos permite definir el máximo valor que puede llegar a obtener la función.

Éste parámetro es muy útil, ya que el sistema de colores RGB nos indica que por pixel hay 8 bits : 2 exp 8 = 256. Siendo un color representado por Rojo-Azul-Verde, tenemos que 256 x 256 x 256 = 16777216 variedades, siendo éste valor el máximo en nuestra función random.

Teniendo este valor definido, debemos representar de manera apropiada nuestro color. La manera apropieada va a ser #XXXXXX, entonces recurrimos a la definición de la siguiente función para resolver nuestro problema:

function Random-ColorHex {
    '#{0:X6}' -f (Get-Random -Maximum 16777216)
}

Si ejecutamos el código anterior, por ejemplo que nos asigne el color a la variable $color, debemos ingresar en la consola lo siguiente:

$color = Random-ColorHex

Y si invocamos la variable, obtendremos el color en formato hexadecimal:

Saludos!

Comments