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; }