El reto
Teniendo en cuenta las dos cadenas hexadecimales en mayúsculas (ambos 6 caracteres de largo, XXXXXX y YYYYYY) que representa los valores RGB (que van desde 000000
a FFFFFF
inclusive), y un no-cero positivo número entero N, muestran una transición lineal de los N + 2 colores generados a partir de XXXXXX a YYYYYY eso daría como resultado un gradiente de color.
Ejemplo
Entrada
FF3762
F08800
9
Salida
Tenga en cuenta que en nuestro ejemplo, solicité 9 pasos intermedios entre los dos colores, por lo tanto, se mostrarán 11 líneas desde el color inicial hasta el color final.
FF3762
FD3F58
FC474E
FA4F44
F9573A
F75F31
F66727
F46F1D
F37713
F17F09
F08800
Advertencias
Si bien he seguido un proceso lineal simple de derivar los valores enteros para los colores intermedios antes de convertirlos nuevamente en hexadecimales, sus métodos pueden variar. Considere las diversas formas en que uno podría redondear sus números hacia arriba / abajo en consecuencia.
Pruebas
Para hacer esto interesante, proporcioné un fragmento para permitir la prueba de su código, incluido un botón para proporcionarle dos colores aleatorios para probar su código. ¡Mostrar sus resultados es opcional, pero se recomienda!
c1=()=>('00000'+(Math.random()*(1<<24)|0).toString(16)).slice(-6);
$("#col").click(function(){
alert("Your two colors are: "+c1()+" and "+c1()+".");
});
$("#colors").blur(function(){
$("#test").empty();
var colArr = $("#colors").val().split("\n");
for(c in colArr){
$("#test").append('<div class="tester" style="background-color:#'+colArr[c]+';">'+colArr[c]+'</div>')
}
});
.tester{height: 20px;
width: 60px;padding: 4px;border: 1px solid black;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="col">Your two colors</button><br />
<textarea id="colors"></textarea>
<div id="test">
</div>
1) Puede acceder a dos colores aleatorios para su prueba haciendo clic en el botón "Sus dos colores". 2) El número de pasos intermedios será el mismo que el número de caracteres en su nombre de usuario PPCG incluyendo espacios, en el caso de "WallyWest" sería 9 (según mi ejemplo anterior). 3) Ejecute su código con los dos colores y el número y una vez que tenga su lista generada, tiene la opción de pegar su salida en el área de texto y alejarla para obtener el gradiente de color generado.
Mi ejemplo se muestra aquí:
Debo admitir que se ve increíble.
Tenga en cuenta: Como mencioné, mostrar sus pruebas de su salida usando el fragmento es opcional, ¡pero se recomienda! :)
Salida
La salida de la lista debe estar en forma de N + 2 conjuntos de números hexadecimales de 6 dígitos separados por avances de línea (\ n) como se muestra en mi ejemplo anterior. La salida puede ser en forma de líneas separadas, lista separada por espacios / comas, una matriz o lo que sea más adecuado para su idioma ... (Gracias @nimi por los encabezados) Recuerde, si planea probar su código con el fragmento, sin embargo, separe cada "color" depende de usted.
Reglas
Este es el código de golf, por lo que la solución más corta en bytes se coronará como el ganador. No hay escapatorias , naturalmente. La entrada debe aceptar las dos cadenas y un número (que como dije será equivalente al número de letras en su nombre de usuario en PPCG, por lo tanto, su salida resultante siempre tendrá un mínimo de tres líneas de largo.