MODO GRAFICO
-
Upload
maria-amancha -
Category
Documents
-
view
212 -
download
0
description
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
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]