Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Copy of Librería Gráfica en C

Implementación de la librería "graphics.h" en C
by

Jose Moyano

on 3 June 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Copy of Librería Gráfica en C

7 - Abrimos el CodeBlocks y accedemos a Settings.
Seleccionamos "Compiler / Debugger"





8 - Vamos a "Linker Settings" (1) / Seleccionamos "Add" (2) / Buscamos la ruta donde anteriormente pusimos la libreria "libbgi.a" / En la parte derecha copiamos EXACTAMENTE los atributos que aparecen (3) / Hacemos Clic en "OK" (4).
graphics.h
LIBRERÍA GRÁFICA PARA C
Los gráficos en el software han permitido una
mejor interacción entre el usuario y el programa.

Actualmente constituyen una parte importante
a la hora de hacer un determinado sistema
fácil y atractivo al usuario final.

PREPARACIÓN E INSTALACIÓN
INTRODUCCIÓN
Necesitaremos:
- 1 PC con conexión a internet.
- Aproximadamente 800 Mb de almacenamiento.
- Sistema Operativo Windows.
CREANDO UN PROYECTO...
ASPECTOS IMPORTANTES
1 - Importar las librerías correctamente:



2 - Inicializar los gráficos en el método MAIN:



3 - Liberar la memoria ocupada por los gráficos
al finalizar el programa:
FUNCIONES IMPORTANTES
Algunas de las funciones más importantes de esta librería las veremos a continuación, junto con un ejemplo de la implementación de cada una.
EJEMPLOS GRÁFICOS
-Botón Rojo.
-Automóvil.
-Barras en Ejes.
GRACIAS
-Elizabeth Sari
-Emilio Rodriguez
PASOS A SEGUIR
1 - Descargar la versión de CodeBlocks desde la página:
http://codeblocks.codecutter.org/





2- Instalamos normalmente el programa siguiendo el procedimiento habitual de Windows.

3 - Una vez instalado descargamos las librerias necesarias de graphics.h desde el enlace:
http://winbgim.codecutter.org/
PASOS A SEGUIR
4 - Tendremos un comprimido con 3 archivos en su interior. Procedemos a descomprimirlos.





5 - Copiamos los archivos: graphics.h / winbgim.h
a la carpeta INCLUDE dentro de MinGW en la ruta de instalación de CodeBlocks.





6 - Copiamos el archivo: libbgi.a en la carpeta LIB dentro de MinGW en la ruta de instalación de CodeBlocks.
PASOS A SEGUIR
- Esta función creará un arco circular.
- El arco tiene como centro el punto especificado por los argumentos x e y.
- El valor y es dibujado con el radio especificado: radio.
- El arco no está rellanado, pero es dibujado usando el color actual.
- El arco comienza al ángulo especificado por el argumento comienzo_angulo y es dibujado en la dirección contraria al de las agujas del reloj hasta llegar al ángulo especificado por el argumento final_angulo.
- La función arc usa el este (extendiéndose hacia la derecha del centro del arco en la dirección horizontal) como su punto de 0 grados.
- La función setlinestyle puede usarse para establecer el grosor del
arco.
void far arc(int x, int y, int comienzo_angulo, int final_angulo, int radio);
VER EJEMPLO EN EJECUCIÓN
-Esta función dibujará una barra rectangular y rellenada de dos dimensiones.
-La esquina superior izquierda de la barra rectangular está definida por los argumentos izquierda y superior.
-Estos argumentos corresponden a los valores x e y de la esquina superior izquierda.
-Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha de la barra.
-La barra no tiene borde, pero es rellenada con la trama de relleno actual y el color de relleno como es establecido por la función setlinestyle.
void far bar(int izquierda, int superior, int derecha, int inferior);
VER EJEMPLO EN EJECUCIÓN
-Esta función se usas para dibujar un círculo.
-Los argumentos x e y definen el centro del círculo, mientras que el argumento radio define el radio del círculo.
-El círculo no es rellenado pero es dibujado usando el color actual.
-El grosor de la circunferencia puede ser establecido por la función setlinestyle.
- La proporción anchura-altura para el modo actual es considerado cuando se calcula el círculo.
-Alterando los valores de defecto x e y de los factores de anchura-altura afectará el círculo (ya no seguirá siendo redondo).
void far circle(int x, int y, int radio);
VER EJEMPLO EN EJECUCIÓN
-Esta función es usada para despejar una pantalla gráfica.
-La función cleardevice usa el color de fondo actual, como es establecido por la función setbkcolor, para rellenar la pantalla.
-La posición del cursor gráfico es la esquina superior izquierda de la pantalla - posición (0,0) - después de que la pantalla haya sido borrada.
void far cleardevice(void);
VER EJEMPLOS EN EJECUCIÓN
-Esta función es usada para crear un polígono con un número especificado de puntos.
-El argumento numpuntos es usado para definir el número de puntos en el polígono.
-Para la función drawpoly, el número de puntos debe ser el número actual de puntos más 1 para poder crear un polígono cerrado.
-En otras palabras, el primer punto debe ser igual al último punto. El argumento *puntos apunta a un array de números de longitud numpuntos multiplicado por 2.
-Los dos primeros miembros del array identifica las coordenadas x e y del primer punto, respectivamente, mientras que los dos siguientes especifican el siguiente punto, y así sucesivamente.
-La función drawpoly dibuja el perímetro del polígono con el estilo de línea y color actuales, pero no rellena el polígono.
void far drawpoly(int numpuntos, int far *puntos);
-Esta función es usada para dibujar un arco elíptico en el color actual.
-El arco elíptico está centrado en el punto especificado por los argumentos x e y.
-Ya que el arco es eilptíco el argumento x_radio especifica el radio horizontal y el argumento y_radio especifica el radio vertical.
-El arco elíptico comienza con el ángulo especificado por el argumento comienzo_angulo y se extiende en un sentido contrario a las agujas del reloj al ángulo especificado por el argumento final_angulo.
-La función ellipse considera este - el eje horizontal a la derecha del centro del elipse - ser 0 grados.
-El arco elíptico es dibujado con el grosor de línea actual como es establecido por la función setlinestyle.
void far ellipse(int x, int y, int comienzo_angulo,int final_angulo, int x_radio, int y_radio);
VER EJEMPLO EN EJECUCIÓN
void far clearviewport(void);
-Esta función es usada para rellenar la pantalla actual del usuario con el color de fondo actual.
-El color de fondo puede ser establecido con la función setbkcolor.
-La posición del cursor gráfico es la esquina superior izquierda de la pantalla actual del usuario. Esta posición es (0,0) según la pantalla actual del usuario.
BLACK
BLUE
GREEN
CYAN
RED
MAGENTA
BROWN
LIGHTGRAY
DARKGRAY
LIGHTBLUE
LIGHTGREEN
LIGHTCYAN
LIGHTRED
LIGHTMAGENTA
YELLOW
WHITE
COLORES DISPONIBLES
-Esta función es usada para dibujar y rellenar una elipse.
-El centro de la elipse es especificado por los argumentos x e y.
-El argumento x_radio especifica el radio horizontal y el argumento y_radio especifica el radio vertical de la elipse.
-La elipse es dibujado con el perímetro en el color actual y rellenada con el color de relleno y la trama de relleno actuales.
void far fillellipse(int x, int y, int x_radio, int y_radio);
VER EJEMPLO EN EJECUCIÓN
-Esta función es usada para despejar una pantalla gráfica.
-La función cleardevice usa el color de fondo actual, como es establecido por la función setbkcolor, para rellenar la pantalla.
-La posición del cursor gráfico es la esquina superior izquierda de la pantalla - posición (0,0) - después de que la pantalla haya sido borrada.
void far cleardevice(void);
VER EJEMPLO EN EJECUCIÓN
-Esta función es usada para crear un polígono rellenado.
-El argumento numpuntos es usado para definir el número de puntos en el polígono.
-Al contrario que la función drawpoly, la función automáticamente cierra
el polígono.
-El argumento *puntos apunta a un array de números de longitud numpuntos multiplicado por 2.
-Los dos primeros miembros del array identifica las coordenadas x e y del primer punto, respectivamente, mientras que los dos siguientes especifican el siguiente punto, y así sucesivamente.
-La función fillpoly dibuja el perímetro del polígono con el estilo de línea y color actuales. Luego, el polígono es rellenado con la trama de relleno y color de relleno actuales.
void far fillpoly(int numpuntos, int far *puntos);
VER EJEMPLO EN EJECUCIÓN
VER EJEMPLO EN EJECUCIÓN
FUNCIONES IMPORTANTES
Algunas de las funciones más importantes de esta librería las veremos a continuación, junto con un ejemplo de la implementación de cada una.
-Esta función es usada para obtener el valor del color de fondo actual. El color de fondo, por defecto, es el color 0.
-Sin embargo, este valor puede cambiar con una llamada a la función setbkcolor.
-Existen varios valores para ciertos colores de fondo.
-La función getbkcolor retorna el valor del color de fondo actual.
int far getbkcolor(void);
VER EJEMPLO EN EJECUCIÓN
-Esta función obtiene el valor del color actual. El color actual es el color usado para dibujar líneas, arcos, etc..
-Este color no es el mismo que el color de relleno. El valor del color obtenido es interpretado según el modo que esté en uso.
-Existen varios valores para ciertos colores de fondo.
-La función getcolor retorna el valor del color actual.
int far getcolor(void);
VER EJEMPLOS EN EJECUCIÓN
-Esta función es usada para conectar dos puntos con una línea recta.
-El primer punto es especificado por los argumentos x1 e y1.
-El segundo punto es especificado por los argumentos x2 e y2.
-La línea se dibuja usando el estilo de línea actual, el grosor, y el color actual.
void far line(int x1, int y1, int x2, int y2);
VER EJEMPLOS EN EJECUCIÓN
-Esta función es usada para colocar el cursor gráfico al punto especificado por los argumentos x e y. Ya que el cursor es movido desde su posición anterior al punto especificado por los argumentos x e y, no hay dibujo alguno.
void far moveto(int x, int y);
VER EJEMPLOS EN EJECUCIÓN
-Esta función es usada para determinar la altura, en píxels, de la cadena de texto especificada por el argumento *texto.
-La altura del texto se determina usando la fuente actual y el tamaño del carácter.
int far textheight(char far *texto);
-Esta función es usada para definir las características de líneas para líneas rectas.
-El argumento estilo especifica la trama de línea predefinida para su uso.
-El argumento trama es una trama de 16 bits que describe el estilo de línea cuando el argumento estilo es USERBIT_LINE, ó 4.
-Un bit 1 en esta trama indica que el píxel correspondiente será asignado el color actual.
-Un bit 0 indica que el píxel correspondiente no será alterado.
-El argumento grosor define el grosor de la línea.
-Existen varios valores para los diferentes estilos y grosores de líneas rectas.
void far setlinestyle(int estilo, unsigned trama, int grosor);
VER EJEMPLO EN EJECUCIÓN
-Esta función es usada para dar soporte al ratón dentro del programa.
-El primer argumento es declarado utilizando los "manejadores" que se encuentran dentro de la librería "graphics.h"
-El segundo argumento constituye una función que establece la condición a cumplir para que se ejecute la acción. (Clic en algún lugar especifico, etc)
void registermousehandler(int kind, void h(int, int))
VER EJEMPLO EN EJECUCIÓN
VER EJEMPLOS EN EJECUCIÓN
-Esta función es usada para obtener la coordenada máxima de la pantalla en la dirección horizontal (o vertical).
-Este valor suele ser la resolución horizontal (o vertical) máxima menos 1.
-La función getmaxx retorna la coordenada máxima de la pantalla en la dirección horizontal, y getmaxy la coordenada máximo vertical.
int far getmaxx / getmaxy(void);
-Esta función es usada para dibujar una línea recta desde la posición actual del cursor gráfico hasta el punto especificado por los argumentos x e y.
-La línea se dibuja usando el estilo de línea actual, el grosor, y el color actual. -Después de que la línea recta haya sido dibujado, la posición del cursor gráfico es actualizado a la posición especificado por los argumentos x e y (el punto final de la línea).
void far lineto(int x, int y);
void far setbkcolor(int color);
-Esta función es usada para asignar el color de fondo al valor del color de fondo especificado por el argumento color.
-Esta función es usada para mostrar una cadena de caracteres.
-El argumento *cadena_texto define la cadena de texto a ser mostrado.
-La cadena es mostrada en la posición descrita por los argumentos x e y
usando el color actual y fuente, dirección, valores, y justificaciones de texto.
-Cuando se use la fuente por defecto, cualquier texto que se extiende fuera del área gráfica actual es truncado.
void far outtextxy(int x, int y, char far *cadena_texto);
int far textwidth(char far *texto);
-Esta función es usada para determinar la anchura, en píxels, de la cadena de texto especificada por el argumento *texto.
-La anchura del texto se determina usando la fuente actual y el tamaño del carácter.
-Elizabeth Sari
-Emilio Rodríguez
Full transcript