MODO GRAFICO

9
COMANDOS DE MODO GRÁFICO BAR GETFILLPATTERN Documento para Exposición del tema 1 María Elena Amancha - Wilma Cañar UNIVERSIDAD TÉCNICA DE AMBATO 28/11/2011

description

Comando bar y getfillpattern

Transcript of MODO GRAFICO

Pág

ina1

COMANDOS DE

MODO GRÁFICO BAR GETFILLPATTERN

Documento para Exposición del tema

1

María Elena Amancha - Wilma Cañar

UNIVERSIDAD TÉCNICA DE AMBATO 28/11/2011

Pág

ina2

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

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

Pág

ina3

B A R

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

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

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

Pág

ina4

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ág

ina5

G E T F I L L P A T T E R N

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

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

Pág

ina6

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

Pág

ina7

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 */

initgraph( &gdriver, &gmodo, "C:\\TC\\BGI" ); setbkcolor(7); //9

setcolor(YELLOW); outtextxy(13,11,"

***************************************************************************");

outtextxy(13,335,"

***************************************************************************");

settextstyle(0,1,1); setcolor(YELLOW);

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

); //(x,y,x2,y2)

Pág

ina8

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

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

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

Pág

ina9

BIBLIOGRAFÍA:

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: [email protected]