Librería graphics.h en c++

14/09/2000

La librería graphics.h es una herramienta fundamental para el desarrollo de aplicaciones gráficas en C++. A pesar de no ser parte del estándar de C++, su uso sigue siendo relevante para aprender los principios básicos del dibujo y la manipulación de gráficos. Esta tutorial te proporcionará una comprensión completa de su funcionamiento, desde su instalación hasta la creación de programas gráficos.

Temario

¿Qué es graphics.h?

graphics.h es un archivo de cabecera que contiene las declaraciones de funciones y variables necesarias para programar gráficos en C++ utilizando la Interfaz Gráfica de Borland (BGI). Originalmente desarrollada para compiladores como Turbo C y Turbo C++, permite realizar tareas como dibujar líneas, círculos, rectángulos, polígonos y texto en una ventana gráfica. También ofrece soporte para la entrada de teclado y ratón, manipulación de color y carga/visualización de imágenes.

La Función initgraph()

La función initgraph() es crucial para inicializar el sistema gráfico. Esta función carga un controlador gráfico y establece el modo gráfico del sistema, permitiendo la creación de aplicaciones gráficas. Su sintaxis es la siguiente:

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

Los parámetros son:

  • graphdriver: Un entero que especifica el controlador gráfico a utilizar. Se puede usar una constante del tipo de enumeración graphics_drivers (definida en graphics.h ). Por ejemplo, DETECT detecta automáticamente el modo gráfico, mientras que VGA usa el controlador VGA.
  • graphmode: Un entero que especifica el modo gráfico inicial. Se puede usar una constante del tipo de enumeración graphics_modes (definida en graphics.h ). VGALO para modo VGA de baja resolución y VGAHI para alta resolución.
  • pathtodriver: Una cadena de caracteres que especifica la ruta al directorio donde se encuentran los archivos del controlador gráfico. Si es NULL , se utiliza el directorio actual.

Instalación de graphics.h en Dev-C++

Para utilizar graphics.h en Dev-C++, se requiere la instalación de la librería BGI. Esto generalmente implica descargar un paquete que incluye los archivos necesarios. A continuación, se detallan los pasos:

  1. Descarga de archivos: Descarga la librería graphics.h , winbgim.h y libbgi.a . Existen varias fuentes disponibles en línea. Algunos paquetes incluyen una instalación simplificada.
  2. Ubicación de archivos: Copia graphics.h y winbgim.h en la carpeta include de Dev-C++ (usualmente ubicada en C:\Program Files (x86)\Dev-Cpp\MinGW64\include ). Copia libbgi.a en la carpeta lib de Dev-C++ (usualmente en C:\Program Files (x86)\Dev-Cpp\MinGW64\lib ).
  3. Configuración del compilador: En Dev-C++, ve a Herramientas -> Opciones del compilador . En la pestaña Parámetros , marca la casilla “Añadir los siguientes comandos al llamar al enlazador”.
  4. Añadir comandos de enlazador: En el área de texto del enlazador, pega los siguientes comandos: -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
  5. Prueba: Crea un nuevo proyecto y escribe un programa simple que utilice las funciones gráficas. Un ejemplo:

#include int main() { int gd = DETECT, gm; initgraph(&gd, &gm, "C:\TC\BGI"); // Ajusta la ruta si es necesario circle(200, 200, 100); getch(); closegraph(); return 0; }

Recuerda ajustar la ruta en initgraph()si tus archivos BGI están en una ubicación diferente. Este código dibuja un círculo en la ventana gráfica.

libreria graphics h en c++ - Qué son los gráficos h en C++

Funciones Comunes de graphics.h

Además de initgraph(), graphics.h proporciona numerosas funciones para dibujar formas geométricas, manipular colores y gestionar la entrada del usuario. Algunas de las más utilizadas son:

  • line(x1, y1, x2, y2): Dibuja una línea entre dos puntos.
  • circle(x, y, radio): Dibuja un círculo.
  • rectangle(x1, y1, x2, y2): Dibuja un rectángulo.
  • ellipse(x, y, start_angle, end_angle, xradius, yradius): Dibuja una elipse.
  • outtextxy(x, y, texto): Escribe texto en la pantalla.
  • setcolor(color): Establece el color actual.
  • setfillstyle(pattern, color): Establece el estilo de relleno.
  • closegraph(): Cierra el modo gráfico.

Tabla Comparativa de Controladores Gráficos

La selección del controlador gráfico adecuado (parámetro graphdriveren initgraph()) depende de la configuración del sistema. A continuación, se muestra una tabla comparativa (información general, puede variar según la implementación):

Controlador Descripción
DETECT Detecta automáticamente el modo gráfico disponible.
VGA Controlador para tarjetas VGA.
EGA Controlador para tarjetas EGA.
CGA Controlador para tarjetas CGA.

Nota: La disponibilidad de los controladores puede variar según el sistema operativo y la implementación de la librería BGI.

Consultas Frecuentes

P: ¿Qué sucede si no encuentro la carpeta include o lib en Dev-C++?

R: La ubicación de estas carpetas puede variar dependiendo de la versión de Dev-C++ y de cómo se instaló. Busca la carpeta de instalación de MinGW en tu disco duro.

P: ¿Por qué mi programa no funciona después de seguir los pasos de instalación?

R: Verifica cuidadosamente cada paso de la instalación, especialmente la ruta proporcionada a initgraph()y los comandos del enlazador. Asegúrate de tener los archivos correctos y que estén en las ubicaciones correctas.

P: ¿Existen alternativas a graphics.h en C++?

R: Sí, existen librerías gráficas más modernas y potentes como SFML, SDL y OpenGL, que ofrecen mayor flexibilidad y compatibilidad con diferentes sistemas operativos. Sin embargo, graphics.h es una excelente opción para introducirse en la programación gráfica.

P: ¿Cómo puedo encontrar más información sobre las funciones de graphics.h?

R: Busca documentación online sobre la Interfaz Gráfica de Borland (BGI). Encontrarás descripciones detalladas de las funciones y ejemplos de código.

Conclusión

La librería graphics.h, aunque no es parte del estándar de C++, sigue siendo una herramienta valiosa para aprender los fundamentos de la programación gráfica. Con esta tutorial, podrás instalar la librería, comprender su funcionamiento y crear tus propias aplicaciones gráficas en C++. Recuerda explorar las numerosas funciones disponibles para expandir tus posibilidades.

Si quieres conocer otros artículos parecidos a Librería graphics.h en c++ puedes visitar la categoría Libros y Librerías.

Subir