find_color()

find_color(<red>, <green>, <blue>)

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 63.

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(63,63,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().

Programa ejemplo:
PROGRAM ejemplo_find_color;

GLOBAL;
    azul;
    verde;
    amarillo;
    rojo;

BEGIN

    azul=find_color(0,0,63);      // Busca el color azul
    verde=find_color(0,63,0);     // Busca el color verde
    amarillo=find_color(63,63,0); // Busca el color amarillo
    rojo=find_color(63,0,0);      // Busca el color rojo

    draw(2,azul,15,0,0,0,79,79);
    draw(2,verde,15,0,80,0,159,79);
    draw(2,amarillo,15,0,160,0,239,79);
    draw(2,rojo,15,0,240,0,319,79);

    LOOP
        FRAME;
    END
END


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()