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