Issuu on Google+

1

COMANDOS DE MODO GRÁFICO

 BAR GETFILLPATTERN

María Elena Amancha - Wilma Cañar

UNIVERSIDAD TÉCNICA DE AMBATO 28/11/2011

Página

1

Documento para Exposición del tema


INTRODUCCIÓN Modo Gráfico en Lenguaje C Características En modo texto se manejan casillas de caracteres (generalmente de 80 columnas por 25 filas), en cambio en el modo gráfico se controlan puntos de la pantalla (pixels). Las pantallas gráficas difieren unas de otras por la cantidad de pixeles que pueden representar (resolución), así como en la variedad de colores que pueden ofrecer (paleta). En C para trabajar con funciones gráficas se requiere de la cabecera graphics.h, y para iniciar el modo grafico se utiliza la sentencia: initgraph(&driver, &modo,"ruta"); El driver o controlador hace referencia a aquella parte de hardware o software que permite poner en funcionamiento determinados recurso de un computador, en este caso los recursos gráficos de la pantalla, para lo cual usaremos los controladores cuya extensión es BGI. Coordenadas en el modo gráfico Como se mencionó antes en el modo grafico lo que se manejan no son casillas de caracteres sino puntos (pixeles), los cuales se identifican con coordenadas que indican su posición a partir de la esquina superior izquierda de la pantalla. Hay que hacer notar que las coordenadas de la esquina superior derecha corresponden a la

Página

2

posición x=0, y=0 (en modo texto esta esquina tiene el valor (1,1) ).


BAR Descripción: Esta función dibujará una barra rectangular y rellenada de dos dimensiones o lo que es sencillamente, dibujamos un rectángulo relleno, ya que la sintaxis de bar es idéntica a la de rectangle y funciona de igual manera. SINTAXIS Sintaxis :

Bar(X1,Y1,X2,Y2);

Ó

Bar (izquierda, superior, derecha, inferior)

Ej: bar(0, 0, 200, 20); En el ejemplo dibujamos una barra de 200 de largo y 20 de ancho

Fig. 1. Imagen en pantalla, se muestra una barra

Página

3

partiendo de (0,0). No tiene borde.


BAR:

#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char trama1[8] ={0x33,0xEE,0x33,0xEE,0x33,0xEE,0x33,0xEE}; char trama2[8] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} ; /* 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:\\TC\\BGI" ); getfillpattern( trama2 ); bar( 00, 00, 200, 250 );

//BARRA

// setfillpattern( trama1, 9 ); // bar( 160, 50, 260, 150 ); //setfillpattern( trama2, 4 ); // bar( 105, 160, 205, 260 ); getch(); /* Pausa */ closegraph(); return 0;

Pรกgina

4

}


GETFILLPATTERN Descripción: Esta función es usada para obtener una trama de relleno definido por el usuario, como es definida por la función setfillpattern, y la guarda en memoria. El argumento *trama es un puntero a una serie de ocho bytes que representa una trama de relleno de bits de 8 x 8. Cada byte representa una fila de ocho bits, donde cada bit está encendido o no (1 ó 0). Un bit de 0 indica que el píxel correspondiente será asignado el color de relleno actual. Un bit de 0 indica que el píxel correspondiente no será alterado. SINTAXIS: getfillpattern(char far *trama); Ej: getfillpattern(trama2); Bar(50,50,150,150); Previamente se introdujeron los espacios de memoria de las diferentes tramas, así: char trama1[8] ={0x33,0xEE,0x33,0xEE,0x33,0xEE,0x33,0xEE};

Página

5

char trama2[8] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


6 P谩gina

Fig. 2.- Se muestra la disposici贸n de barras con relleno y tramas


GETFILLPATTERN #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> void main () { int gdriver = EGA; int gmodo = EGAHI; int pattern,x, y,x2,y2, color, relleno,fill; char trama1[8] ={0x33,0xEE,0x33,0xEE,0x33,0xEE,0x33,0xEE}; char trama2[8] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} ; /* 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" donde se encuentra el dispositivo grรกfico */

Pรกgina

outtextxy(22,13,"***************************************** "); settextstyle(0,1,1); outtextxy(625,18," ****************************************"); setcolor(5); rectangle(10,7,625,345); setcolor(5); rectangle(25,22,610,332); color = 5; //9 fill=10; //2 setfillstyle( 10,5 );

7

initgraph( &gdriver, &gmodo, "C:\\TC\\BGI" ); setbkcolor(7); //9 setcolor(YELLOW); outtextxy(13,11," ******************************************************* ********************"); outtextxy(13,335," ******************************************************* ********************"); settextstyle(0,1,1); setcolor(YELLOW);


rectangle(25,22,610,332); color = 5; //9 fill=10; //2 setfillstyle( 10,5 ); //(x,y,x2,y2) bar(28,25,607,328); settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); setcolor(6); outtextxy(58,37,"UNIVERSIDAD TECNICA DE AMBATO"); settextstyle(0,0,2); setcolor(BLUE); outtextxy(160,90,"DOCENCIA EN INFORMATICA "); outtextxy(230,120,"III SEMESTRE "); setcolor(YELLOW); outtextxy(230,150,"MODO GRAFICO "); setcolor(BLUE); outtextxy(125,188,"FUNCION BAR,GETFILLPATTERN "); setcolor(BLUE); outtextxy(230,220,"REALIZADO POR: "); outtextxy(350,250,"* AMANCHA MARIA"); outtextxy(350,280,"* CANIAR WILMA "); settextstyle(5,0,4); outtextxy(250,320,"DICIEMBRE 2011 "); getch(); /* Pausa */ cleardevice(); getfillpattern( trama2 ); bar( 50, 50, 150, 150 ); setfillpattern( trama1, 9 ); bar( 160, 50, 260, 150 );

Pรกgina

// color = 1; // fill=5; // setfillstyle( fill, color ); //(x,y,x2,y2); //bar(280,100,350,300); //color = (color+5) % 16; //fill = (fill+5) % 16; getch(); /* Pausa */ closegraph(); return 0; }

8

setfillpattern( trama2, 4 ); bar( 105, 160, 205, 260 );


http://c.conclase.net/borland/?borlandfun=bar http://tonahtiu.com/notas/metodos/Graficos_C.htm

CONCEPTOS BÁSICOS DE GRAFICACIÓN EN C++ Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México http://www.itnuevolaredo.edu.mx/takeyas E-mail: takeyas@itnuevolaredo.edu.mx

Página

 

9

BIBLIOGRAFÍA:


MODO GRAFICO