int find_color( uchar rojo, verde, azul )
Retorna:
El número de color dentro de la paleta.
Descripción:
Busca el color de la paleta actual más cercano al color indicado.
Se requieren las tres componentes que con componen el color que se desea localizar dentro de la paleta, como red (rojo), green (verde) y blue (azul), todas ellas como valores entre 0 y 255.
Como valor de retorno se devolverá el número de color de la paleta que más se acerca a las componentes indicadas.
Por ejemplo, si se llama a la función como find_color(255,255,0), devolverá el número del color de la paleta que más se acerca o parece al amarillo.
Nota: La función find_color() no modifica la paleta actual, únicamente busca colores determinados dentro de la misma, para modificar un color de la paleta se debe emplear la función set_color().
int azul, verde, amarillo, rojo; MAIN_PROGRAM_CDIV BEGIN_PROGRAM set_gfx(GFX_AUTODETECT_WINDOWED); set_mode(m320x200); azul = find_color(0,0,255); // Busca el color azul verde = find_color(0,255,0); // Busca el color verde amarillo = find_color(255,255,0);// Busca el color amarillo rojo = find_color(255,0,0); // Busca el color rojo draw(3, azul, 15, 0, 0, 0, 79, 79); draw(3, verde, 15, 0, 80, 0, 159, 79); draw(3, amarillo, 15, 0, 160, 0, 239, 79); draw(3, rojo, 15, 0, 240, 0, 319, 79); LOOP FRAME; END_PROGRAM
Este ejemplo utiliza la función find_color() para localizar los colores azul, verde, amarillo y rojo dentro de la paleta (sea cual sea esta), y entonces, mediante la función draw(), muestra cuatro cuadrados de estos colores.
La ventaja de utilizar este sistema es que no importa que el programa cambie de paleta, ya que siempre se podrán localizar los colores dentro de la misma.
Para modificar toda la paleta, se suele cargar la misma de un archivo del disco mediante al función load_pal().
Para realizar otros efectos de paleta, se puede utilizar la función roll_palette() que permite realizar ciclos de color, o la función fade() que permite realizar múltiples fundidos y saturaciones de color a diferentes velocidades.
Ver: set_color() - roll_palette() - load_pal()