Los gráficos en lenguaje C (funciones de archivo de cabecera graphics.h y ejemplos)

En este artículo, vamos a aprender el uso de ‘graphics.h’ en lenguaje C y también vamos a hacer algunos programas basados ​​en nuestro aprendizaje.

Color Descripción en C

SetBkColor conjuntos del fondo al color especificado por el color o el número. El argumento de color puede ser un nombre o un número, tal como figura en la tabla siguiente. (Estos nombres simbólicos se definen en graphics.h ). Estos colores también se pueden utilizar para establecer TextColor (color del texto) o rellenando el interior de diversas formas que usted hace en su programa. primero vamos a aprender sobre el color y sus valores y luego vamos a aprender a través de los programas.

Color 				Numeric Value
BLACK 0
BLUE 1
GREEN 2
CYAN 3
RED 4
MAGENTA 5
BROWN 6
LIGHTGRAY 7
DARKGRAY 8
LIGHTBLUE 9
LIGHTGREEN 10
LIGHTCYAN 11
LIGHTRED 12
LIGHTMAGENTA 13
YELLOW 14
WHITE 15

de ejemplo los programas de gráficos en C

1. Color del fondo

#include<graphics.h> 
#include<conio.h>
main()
{

int gd = DETECT, gm;
initgraph(&gd, &gm, "C:TCBGI");
setbkcolor (GREEN);
getch();
closegraph();
return 0;
}

salida

Graphics in C language (graphics.h header file functions and examples) - 4

¿Cuáles son initgraph, GD y GM?

  • gd = GraphDriver;
  • gm = graphmode;

Sintaxis para initgraph:

    void initgraph (int *graphdriver, int *graphmode, char *pathtodriver) ;

Descripción para initgraph:

initgraph

initgraph se utiliza para inicializar el sistema de gráficos mediante la carga de un controlador de gráficos desde el disco y de ese modo poner el sistema en modo gráfico.

Para iniciar el sistema de gráficos, lo primero que llamamos el initgraph función. initgraph puede utilizar un controlador de gráficos y el modo particular, o puede auto -detect y escoger el driver correspondiente en tiempo de ejecución, de acuerdo con nuestras necesidades.

Si decimos a initgraph de detección automática, que llama detectgraph para seleccionar un controlador de gráficos y el modo. También restablece todos los ajustes de los gráficos a sus valores por defecto como la posición actual, el color, la ventana gráfica y así sucesivamente, y también se restablece a 0. graphresult

Normalmente, se asigna memoria por initgraph para cargar un controlador de gráficos particular a través de _graphgetmem , entonces se carga el archivo de BGI apropiada desde el disco.

pathtodriver

pathtodriver denota la ruta del directorio donde initgraph hay que buscar los controladores gráficos. initgraph primero pasa por el camino dirigido a buscar los archivos y si no se encuentran allí, se va al directorio actual. Los archivos deben controlador gráfico debe estar presente en el directorio actual si el pathtodriver es nulo.

GraphDriver

GraphDriver * es el número entero que especifica el controlador de gráficos se va a utilizar. Podemos darle un valor utilizando una constante de los graphics_drivers enum tipo, que se define en graphics.h y se enumeran a continuación.

graphics_drivers constant    	Numeric value
DETECT 0 (requests autodetect)
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMONO 5
IBM8514 6
HERCMONO 7
ATT400 8
VGA 9
PC3270 10

graphmode

* graphmode es también un número entero que especifica el modo de gráficos inicial. La tabla para los valores de * graphmode se dan en la TLINK a continuación y sus valores están asignados en la misma forma que para * GraphDriver.

GraphDriver y graphmode debe dar valores adecuados de las tablas o que obtendrá resultados absurdos e inesperados. La excepción es cuando = GraphDriver detectar. En este case, conjuntos initgraph * graphmode a la resolución más alta disponible para el conductor detectado.

Referencia : https://www.cs.colorado.edu/~ main /bgi/doc/initgraph.html

Lo que es BGI?

Borland interfaz gráfica (BGI) es una biblioteca de gráficos que se incluye con varios compiladores de Borland para los sistemas operativos DOS desde 1987 . Las cargas de bibliotecas controladores gráficos (* .BGI) y el vector de fuentes (* .CHR) de disco, de modo que proporcionan dispositivo de gráficos independientes apoyan a los programadores.

BGI es accesible en C / C ++ con GRAPHICS.LIB / graphics.h.

Referencia: Borland Interfaz gráfica

Lo que es closegraph ()?

Sintaxis para closegraph ():

void closegraph (int wid= ALL_WINDOWS);

Descripción:

closegraph desasigna la memoria asignada por el sistema de gráficos y luego se restablece la pantalla al modo en que estaba antes de llamar initgraph.

Valor: Return valor es ninguno.

Windows Versión de closegraph ():

En versión para Windows de closegraph, existe un parámetro opcional llamado ‘MED’, que es el identificador de ventana (devuelto por initwindow) de la ventana que se supone que es cerrado .

El parámetro MED también puede tomar uno de los dos valores constantes se dan a continuación:

  1. CURRENT_WINDOW que cierra sólo la ventana actual o
  2. ALL_WINDOWS que, por Return cierra todas las ventanas gráficas abiertas.

Al cerrar la ventana actual, ventana actual ya no existe y que no va a ser capaz de dar más comandos de dibujo hasta que una nueva ventana es creada o una ventana actual se establece llamando setcurrentwindow .

Referencia: https://www.cs.colorado.edu/~ default /bgi/doc/closegraph.html

2. El color del texto

#include<stdio.h>
#include<conio.h>
int main()
{
textcolor(RED);
clrcsr();
cprintf("HELLO WORLDN");
getch();
return 0;
}

salida

Graphics in C language (graphics.h header file functions and examples) - 5

3. Círculo Gráficos

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{
int gd=DETECT, gm; int i;
initgraph (&gd,&gm,"c:tcbgi");
clrscr();
for(i=0;i<500;i++)
{
setcolor(i);
//coordinates of center from x axis, y axis, radius
circle(100,100,30+i);
delay(30);
//cleardevice(); //try with and without cleardevice();
}
getch();
closegraph();
}

salida

los círculos seguirán creciendo hasta que el número asignado.

Graphics in C language (graphics.h header file functions and examples) - 6

4. Hut Gráficos

#include<graphics.h>
#include<conio.h>
int main(){
int gd = DETECT,gm;
initgraph(&gd, &gm, "X:TCBGI");

setcolor(WHITE);
rectangle(150,180,250,300);
rectangle(250,180,420,300);
rectangle(180,250,220,300);
line(200,100,150,180);
line(200,100,250,180);
line(200,100,370,100);
line(370,100,420,180);

setfillstyle(SOLID_FILL, BROWN);
floodfill(152, 182, WHITE);
floodfill(252, 182, WHITE);
setfillstyle(SLASH_FILL, BLUE);
floodfill(182, 252, WHITE);
setfillstyle(HATCH_FILL, GREEN);
floodfill(200, 105, WHITE);
floodfill(210, 105, WHITE);
getch();
closegraph();
return 0;
}

salida

Graphics in C language (graphics.h header file functions and examples) - 7

Nota del autor:

Estos programas están hechos y probados en TURBO C7. Esta es mi petición a todos los lectores a favor de ejecutar el programa para una mejor comprensión del código. Siempre estoy ahí para ayudar en la main de cualquier consulta. Codificación feliz!


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *