tabla pasteles pastel hexadecimales colores codigo brillantes html colors hex scale

pasteles - Códigos de color HTML: rojo a amarillo a verde



tabla de colores html pdf (12)

Acabo de tener un proyecto y comencé con una solución más o menos similar para jball y Asaph. Es decir, se incrementa gradualmente desde el rojo (FF0000) a (FFFF00) a (00FF00).

Sin embargo, descubrí que, visualmente, los cambios parecían ser mucho más drásticos en torno a "amarillo", mientras que apenas se notaban en "rojo" y "verde". Descubrí que podía compensar esto haciendo que los cambios fueran exponenciales en lugar de lineales, haciendo que los incrementos fueran más pequeños en torno a "amarillo" y más grandes alrededor de "rojo" y "verde". La solución (en Javascript) que resolví se veía así:

/** * Converts integer to a hexidecimal code, prepad''s single * digit hex codes with 0 to always return a two digit code. * * @param {Integer} i Integer to convert * @returns {String} The hexidecimal code */ function intToHex(i) { var hex = parseInt(i).toString(16); return (hex.length < 2) ? "0" + hex : hex; } /** * Return hex color from scalar *value*. * * @param {float} value Scalar value between 0 and 1 * @return {String} color */ function makeColor(value) { // value must be between [0, 510] value = Math.min(Math.max(0,value), 1) * 510; var redValue; var greenValue; if (value < 255) { redValue = 255; greenValue = Math.sqrt(value) * 16; greenValue = Math.round(greenValue); } else { greenValue = 255; value = value - 255; redValue = 256 - (value * value / 255) redValue = Math.round(redValue); } return "#" + intToHex(redValue) + intToHex(greenValue) + "00"; }

Esto produjo un gradiente mucho más suave cuando cambié el valor, y cambiar InputValue por cierto pareció afectar el color en más o menos el mismo grado independientemente del punto de partida.

Me gustaría encontrar tantos valores HEX HTML para tener un degradado de color suave desde el rojo al verde:

Me gustaría que esto sea similar al siguiente: http://www.utexas.edu/learn/html/colors.html

No tengo el mejor ojo para las elecciones de colores, por lo que espero que ya se haya preparado una tabla estándar que muestre cómo hacer la transición del rojo al amarillo y al verde sin problemas.

En ese sitio web "1 de 6" es más similar a lo que estoy buscando, pero ese ejemplo está limitado a 11 colores:

(1) FF0000 Red, (2) FF3300 Red(Orange) (3) ff6600 (4) ff9900 (5) FFCC00 Gold (6) FFFF00 Yellow (7) ccff00 (8) 99ff00 (9) 66ff00 (10) 33ff00 (11) 00FF00 Lime

Sería genial poder duplicar la cantidad de colores, pero hacer que la transición sea fluida.

Gracias por cualquier idea y ayuda.


Aquí hay un bonito degradado de verde a rojo

/* Green - Yellow - Red */ .gradient_0 {background: #57bb8a;} .gradient_5 {background: #63b682;} .gradient_10 {background: #73b87e;} .gradient_15 {background: #84bb7b;} .gradient_20 {background: #94bd77;} .gradient_25 {background: #a4c073;} .gradient_30 {background: #b0be6e;} .gradient_35 {background: #c4c56d;} .gradient_40 {background: #d4c86a;} .gradient_45 {background: #e2c965;} .gradient_50 {background: #f5ce62;} .gradient_55 {background: #f3c563;} .gradient_60 {background: #e9b861;} .gradient_65 {background: #e6ad61;} .gradient_70 {background: #ecac67;} .gradient_75 {background: #e9a268;} .gradient_80 {background: #e79a69;} .gradient_85 {background: #e5926b;} .gradient_90 {background: #e2886c;} .gradient_95 {background: #e0816d;} .gradient_100 {background: #dd776e;} /* Red - Yellow - Green */ .anti-gradient_100 {background: #57bb8a;} .anti-gradient_95 {background: #63b682;} .anti-gradient_90 {background: #73b87e;} .anti-gradient_85 {background: #84bb7b;} .anti-gradient_80 {background: #94bd77;} .anti-gradient_75 {background: #a4c073;} .anti-gradient_70 {background: #b0be6e;} .anti-gradient_65 {background: #c4c56d;} .anti-gradient_60 {background: #d4c86a;} .anti-gradient_55 {background: #e2c965;} .anti-gradient_50 {background: #f5ce62;} .anti-gradient_45 {background: #f3c563;} .anti-gradient_40 {background: #e9b861;} .anti-gradient_35 {background: #e6ad61;} .anti-gradient_30 {background: #ecac67;} .anti-gradient_25 {background: #e9a268;} .anti-gradient_20 {background: #e79a69;} .anti-gradient_15 {background: #e5926b;} .anti-gradient_10 {background: #e2886c;} .anti-gradient_5 {background: #e0816d;} .anti-gradient_0 {background: #dd776e;}

<div class="gradient_0">0</div> <div class="gradient_5">5</div> <div class="gradient_10">10</div> <div class="gradient_15">15</div> <div class="gradient_20">20</div> <div class="gradient_25">25</div> <div class="gradient_30">30</div> <div class="gradient_35">35</div> <div class="gradient_40">40</div> <div class="gradient_45">45</div> <div class="gradient_50">50</div> <div class="gradient_55">55</div> <div class="gradient_60">60</div> <div class="gradient_65">65</div> <div class="gradient_70">70</div> <div class="gradient_75">75</div> <div class="gradient_80">80</div> <div class="gradient_85">85</div> <div class="gradient_90">90</div> <div class="gradient_95">95</div> <div class="gradient_100">100</div>


Aquí hay una manera simple pero sucia de generar estos colores:

COLORS = [ "FF00%0.2XFF" % x for x in range(0,260,5) ] + [ "FF00FF%0.2X" % x for x in range(250,-1,-5) ]

La codificación de color es para Google maps: aabbggrr.

Esto le dará una lista de 103 colores. Quité tres y luego indexé la lista usando un porcentaje como un entero.



Dependiendo de la cantidad de colores con los que desee terminar, la solución es simplemente aumentar el valor verde en una cierta cantidad, y luego cuando el verde esté al máximo ( FF ), disminuya el valor rojo repetidamente en la misma cantidad.

Pseudo-código:

int red = 255; //i.e. FF int green = 0; int stepSize = ?//how many colors do you want? while(green < 255) { green += stepSize; if(green > 255) { green = 255; } output(red, green, 0); //assume output is function that takes RGB } while(red > 0) { red -= stepSize; if(red < 0) { red = 0; } output(red, green, 0); //assume output is function that takes RGB }

Generando a mano, simplemente puede incrementar por 16, así:

FF0000 FF1000 FF2000 FF3000 FF4000 FF5000 FF6000 FF7000 FF8000 FF9000 FFA000 FFB000 FFC000 FFD000 FFE000 FFF000 FFFF00 //max, step by 15 F0FF00 //cheat, start with a -15 to simplify the rest E0FF00 D0FF00 C0FF00 B0FF00 A0FF00 90FF00 80FF00 70FF00 60FF00 50FF00 40FF00 30FF00 20FF00 10FF00


Hoy en día todos los navegadores modernos admiten gradientes de color en CSS que permiten gradientes totalmente suaves en cualquier ancho / alto. Sin embargo, todavía no todos los navegadores admiten el linear-gradient CSS oficial, por lo que para admitir todos los navegadores, use la siguiente clase de CSS:

.gradient { background: -moz-linear-gradient(left, red, yellow, green); /* FF3.6+ */ background: -webkit-gradient(linear, left top, right top, color-stop(0%, red), color-stop(50%, yellow), color-stop(100%, green)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(left, red, yellow, green); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(left, red, yellow, green); /* Opera 11.10+ */ background: -ms-linear-gradient(left, red, yellow, green); /* IE10+ */ background: linear-gradient(to right, red, yellow, green); /* W3C */ }

Para obtener más referencias de las funciones de degradado de CSS, consulte los siguientes artículos en la Red de desarrolladores de Mozilla:

Un sitio web muy bueno para generar rápidamente gradientes de color completamente personalizados para todos los navegadores es el Generador de degradado CSS definitivo .


La mejor forma de hacerlo es comprender qué significan realmente los códigos de color hexadecimales. Una vez que comprenda esto, quedará claro cómo hacer gradientes de suavidad arbitraria. Los códigos de color hexadecimal son trillizos que representan los componentes rojo, verde y azul del color, respectivamente. Entonces, por ejemplo, en el color FF0000 , el componente rojo es FF , el componente verde es 00 y el componente azul es 00 . FF0000 ve rojo porque el componente rojo se marca hasta FF y el verde y azul se marcan hasta 00 . Del mismo modo, el verde puro es 00FF00 y el azul puro es 0000FF . Si convierte los números hexadecimales a decimal, obtendrá un valor entre 0 y 255 .

Entonces, ¿cómo se hace una gradiente de transición de rojo a amarillo a verde? Fácil; usted toma los puntos finales, decide cuántos pasos desea entre ellos, y luego camina uniformemente por cada uno de los 3 canales de color para pasar de un color al siguiente. A continuación se muestra un ejemplo en pasos de 11 hex ( 17 en decimal):

FF0000 <-- red FF1100 FF2200 FF3300 FF4400 FF5500 FF6600 FF7700 FF8800 FF9900 FFAA00 FFBB00 FFCC00 FFDD00 FFEE00 FFFF00 <-- yellow EEFF00 DDFF00 CCFF00 BBFF00 AAFF00 99FF00 88FF00 77FF00 66FF00 55FF00 44FF00 33FF00 22FF00 11FF00 00FF00 <-- green


Lo usé en una página php:

$percent = .....; //whatever the percentage you want to colour If ($percent <= 50) { $red = 255; $green = $percent * 5.1; } If ($percent >= 50) { $green = 255; $red = 255 - ($percent - 50) * 5.1; } $blue = 0;

Su RGB es entonces ($ rojo, $ verde, $ azul)

Nota: El factor 5.1 deriva de 255/50


Mi razón para encontrar esta pregunta fue que estaba tratando de hacer un indicador de tiempo de actividad de color para una tabla llena de dispositivos que "registran" cada hora. La idea es que sea roja al 0%, transición al amarillo al 50% y verde al 100%. Esto es, por supuesto, bastante inútil, pero fue una manera fácil de hacer que una mesa se vea más impresionante de lo que realmente era. Dado un mínimo, máximo y valor, devuelve valores rgb 0-255 para el color correcto. Asume una entrada válida.

function redYellowGreen(min, max, value) { var green_max = 220; var red_max = 220; var red = 0; var green = 0; var blue = 0; if (value < max/2) { red = red_max; green = Math.round((value/(max/2))*green_max); } else { green = green_max; red = Math.round((1-((value-(max/2))/(max/2)))*red_max); } var to_return = new Object(); to_return.red = red; to_return.green = green; to_return.blue = blue; return to_return; }


Por mi parte, resolví el problema con 2 pinceles:

float sweepAngle = 45.0F; // angle you want ... LinearGradientBrush linGrBrushUp = new LinearGradientBrush( new Point(0, 0), new Point(w, 0), Color.FromArgb(255, 0, 255, 0), // green Color.FromArgb(255, 255, 255, 0) // yellow ); LinearGradientBrush linGrBrushDown = new LinearGradientBrush( new Point(w, 0), new Point(0, 0), Color.FromArgb(255, 255, 255, 0), // yellow Color.FromArgb(255, 255, 0, 0) // red ); g.DrawArc( new Pen(linGrBrushUp, 5), x, y, w, h, 180.0F, sweepAngle>180.0F?180.0F:sweepAngle ); g.DrawArc( new Pen(linGrBrushDown, 5), x, y, w, h, 0.0F, sweepAngle>180.0F?sweepAngle-180.0F:0 );


Ver cualquier gráfico dará la ilusión de que los "códigos de color" son valores individuales que debe buscar. De hecho, la transición más suave que puede obtener es simplemente aumentar la cantidad de verde en el color y disminuir la cantidad de rojo.

Mira, los crípticos códigos hexadecimales en realidad no son en absoluto crípticos. Tienen seis dígitos, donde los dos primeros muestran la cantidad de rojo en el color, los dos medios muestran la cantidad de verde, y los dos últimos muestran la cantidad de azul.

Y a diferencia del conteo humano, cuando pasamos del 0 al 9 pasamos al siguiente valor de posición y obtenemos el 10, con el hexadecimal contamos todo hasta F. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10

Entonces, su objetivo es pasar de FF 00 00 (solo rojo, no verde o azul) a FF FF 00 (rojo mezclado con verde, que es amarillo), y finalmente a 00 FF 00 .

Como puedes hacer eso? Simplemente agregue un poco cada vez la cantidad verde hasta que llegue a FF, y luego empiece a alejarse un poco de la cantidad roja hasta que llegue a 00.

¿Y cuánto es "un poco"? Por mucho que creas necesario para lograr una transición sin problemas. Puede agregar 30 a la vez y obtener saltos muy importantes de un color a otro, o agregar 1 a la vez y hacer que la transición progrese más suavemente (pero quizás también más lentamente). Experimenta y ve lo que funciona para ti.


Funciona solo en Chrome y Safari

De NiceWebType.com :

<style type="text/css"> h1 { position: relative; font-size: 60px; line-height: 60px; text-shadow: 0px 0px 3px #000; } h1 a { position: absolute; top: 0; z-index: 2; color: #F00; -webkit-mask-image: -webkit-gradient(linear, left center, right center, from(rgba(0,0,0,1)), to(rgba(0,0,0,0))); } h1:after { content: "CSS Text Gradient (Webkit)"; color: #0F0; } </style> <h1><a>CSS Text Gradient (Webkit)</a></h1>