graphics.h


Función setpalette Borland® C

void far setpalette(int num_paleta, int color);

Esta función es usada para modificar una sola entrada en la paleta actual. El argumento num_paleta especifica el miembro de la paleta a cambiar. El argumento color especifica el nuevo valor de color para el miembro de la paleta.

Existen varios valores para los colores dependiendo del dispositivo.

Nota: Recuerda que todos los cambios hechos a la paleta tiene un efecto visual inmediato y que la función setpalette no debería usarse con el dispositivo IBM-8514.

Valor de retorno:

La función setpalette no retorna ningún valor; sin embargo, si los valores pasados son inválidos, entonces la función graphresult retorna grError (-11) y la paleta no es alterada.

Ejemplo:

#include <graphics.h>
#include <conio.h>

int main() {
   int gdriver = EGA;
   int gmodo = EGAHI;
   struct palettetype palette;
   int size, temp, i, y=0;

/* Si has registrado los dispositivos para que formen parte de graphics.lib
** entonces usa estas sentencias:

   registerbgidriver( EGAVGA_driver );
   initgraph( &gdriver, &gmodo, "" );
*/

/* Si no, entonces has de "decir" dónde se encuentra el dispositivo gráfico */

   initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" );

   getpalette( &palette );
   size = palette.size;
   for( i=0; i<size; i++ ) {
      y += 30;
      setcolor( palette.colors[i] );
      line( 20, y, 520, y );
   }

   getch();    /* Pausa */
   for( i=0; i<size/2; i++ ) {
      temp = palette.colors[i];
      setpalette( i, palette.colors[size-1-i] );
      setpalette( size-1-i, temp );
   }

   getch();    /* Pausa */
   closegraph();

   return 0;
}