0% encontró este documento útil (0 votos)
418 vistas35 páginas

Grafico en Pascal

El documento explica cómo el lenguaje Pascal maneja la pantalla en modo texto y gráfico. En modo texto, la instrucción TextMode define el número de columnas y renglones y Gotoxy posiciona el cursor. En modo gráfico, se pueden dibujar líneas, rectángulos, círculos y otros objetos usando funciones como Line, Rectangle, Circle. También permite colocar texto en cualquier posición de la pantalla.

Cargado por

NoelGabriel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
418 vistas35 páginas

Grafico en Pascal

El documento explica cómo el lenguaje Pascal maneja la pantalla en modo texto y gráfico. En modo texto, la instrucción TextMode define el número de columnas y renglones y Gotoxy posiciona el cursor. En modo gráfico, se pueden dibujar líneas, rectángulos, círculos y otros objetos usando funciones como Line, Rectangle, Circle. También permite colocar texto en cualquier posición de la pantalla.

Cargado por

NoelGabriel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 35

El Lenguaje Pascal Maneja la Pantalla del Monitor en modo Texto

Modos de Pantalla en Pascal ver 7.0

El Comando TextMode define el modo de la pantalla


TextMode (CO40); -> Pantalla de 40 Columnas y 25 Renglones
TextMode(CO80); -> Pantalla de 80 Columnas y 25 Renglones
TextMode (CO80+Font8X8); Pantalla de 80 Columnas y
50 Renglones
40

TextMode(CO40);

25

80

TextMode (CO80);

25

80
TextMode(CO80 + Font8X8);
50

La Instruccin TextMode, va al inicio del programa para configurar


el modo de pantalla, en columnas y renglones que se va a manejar.

Program Prueba;
Uses Crt;
Begin
Textmode(CO40);
Textcolor(14);
TextBackground(1);
Clrscr;
Gotoxy(20,12); write( H o l a);
Readkey;
End.

La Instruccin GOTOXY(X,Y) sirve para colocar el cursos


en las coordenadas de pantalla ( Columna, Rengln ), y esto
va en relacin a la instruccin TextMode que configura las
Columnas y Renglones de la Pantalla.
Columna
GOTOXY(X,Y);
Rengln
TextMode(CO40);

As:
Gotoxy(20,13); write(H o l a);
Coloca el cursor en Columna 20, Rengln 13

TextMode (CO80);
As:
Gotoxy(40,12); write(H o l a);
Coloca el Cursor en Columna 40, Rengln 12

TextMode(CO80 + Font8X8);
As:
Gotoxy(40,25); write(H o l a);
Coloca el Cursor en Columna 40, Rengln 25

Modos de Pantalla en Pascal ver 7.0

Para MODO GRAFICO la unidad bsica es el PIXEL


PIXEL significa Picture Element, Elemento de Dibujo y es en
realidad un punto en una pantalla grfica.
Se tiene 640 Pixeles Horizontales y 480 Pixeles Verticales

Actualmente se auto detecta el modo grfico VGAHI


con una resolucin de : 640 X 480 pixels.
Para que me entiendas mejor que es un pixel, has lo siguiente:
1. Consguete una lupa
2. Si estas trabajando bajo Windows 98 o XP, da Click en inicio.
3. Click en Ms-Dos
4. Acerca la lupa a la pantalla y enfoca cualquier carcter, veras
que esta constituido por muchos puntos. Pues bien esos son los
famosos pixels.
Colocados de la siguiente forma :

0 0

479

639

0
0

160

320

480

639

120

320,240

240

240

360

479

320

639

Para entrar a modo grfico primero se tiene que cargar la librera


Grfica GRAPH, junto con CRT :
Graph: con la diversidad de funciones y procedimientos que provee,
sumados a unos sencillos algoritmos permite hacer desde una simple
lnea o un crculo hasta una simulacin matemtica o un videojuego.
Program graficas;
Uses CRT, GRAPH;
Var
Gd, Gm : Integer; {Declaro dos variables Integer de control }
Begin {Inicio del programa principal}
Gd := Detect; {Detecta el tipo de tarjeta grfica }

Program graficas;
uses CRT, GRAPH;
Var
Gd, Gm : Integer;
Begin {Inicio del programa principal}
Gd := Detect;
{Detecta el tipo de tarjeta grfica para el monitor en el que se este
ejecutando el programa}
InitGraph(Gd, Gm, Archivos BGI'); {inicializa el modo grafico}
If GraphResult <> grOk then Halt(1);
{Evala, si la inicializacin al modo fue correcta }
{Debemos informar al usuario que la iniciacin al modo grfico no
fue correcta }

Program graficas;
Uses Crt,Graph;
Var
gd,gm:Integer;
Begin
gd:=DETECT;
initgraph( gd, gm ,C:\tp\bgi);
if graphresult < > grOK then
begin
gotoxy(30,12);write(No puedo entrar a modo grafico);
readkey;
halt(1);
end; { si el programa pasa de aqu estamos en modo grafico }

LINEAS
Dibujar una lnea : para trazar una lnea se utiliza el comando LINE
LINE( Columna , Rengln, Columna, Rengln )

inicial

final

Program graficas;
Uses Crt,Graph;
Var
gd,gm:Integer;
Begin
gd:=DETECT;
initgraph( gd, gm ,C:\tp\bgi);
if graphresult < > grOK then
begin
gotoxy(30,12);write(No puedo entrar a modo grafico);
readkey;
halt(1); { Salirse del programa }
end; { si el programa pasa de aqu estamos en modo grafico }

LINE ( 0 , 0 , 639 , 479);


readkey;
END.

Otra forma de dibujar una lnea es con LINETO, que traza desde
donde se quedo el ultimo trazo hasta lo indicado por LINETO. Por
ejemplo, si el ultimo trazo fue LINE(0,0,639,479); la lnea quedo
en la posicin 639,279, as
LINETO ( 320,240);

La instruccin para borrar pantalla en modo grafico es:


CLEARDEVICE;
La funcin para color de primer plano es:
SETCOLOR(color);
Los colores son los normalmente manejador del 0 al 15
La funcin para color de fondo es:
SETBKCOLOR(color);
Los colores de fondo son del 0 al 8
Al terminar el programa de grficos se debe cerrar la pantalla
grfica con: CLOSEGRAPH;, que debe ser la ultima
instruccin antes del END.

Para dibujar un RECTNGULO se utiliza RECTANGLE


Rectangle(0,0,639,479);
RECTANGLE ( COLUMNA, RENGLON, COLUMNA RENGLON

inicio

final

Putpixel(Columna, Fila, Color);


Pinta un pixel (Puntito) en la columna, fila con el color determinado;
ejemplo:
putpixel(Getmaxx Div 2, GetmaxY Div 2, Red);
pinta un punto en el centro de la pantalla de color Rojo.
putpixel(100,150, Magenta);
pinta un punto en la columna 100, fila 150 de color Magenta.

Para generar pixeles al azar utilizamos el generador de nmeros al


azar en columna rengln y color:
Setcolor (4);Setbkcolor(0);cleardevice;
BAR(0,0,639,479);
Repeat
x:=random(640);
y:=random(480);
Color:=random(16);
Putpixel (x,y,color); delay(50);
Until (keypressed);
Readkey;

program Uso_De_ PutPixel;


uses Crt, Graph;
var
Gd, Gm : Integer;
Begin
GD := Detect;
InitGraph(GD, GM, C:\TP\BGI');
if GraphResult <> grOk then Halt(1);
Repeat
PutPixel(Random(640),Random(480),random(16));
Delay(50);
until KeyPressed;
CloseGraph;
End.

BAR(X1, Y1, X2, Y2);


Dibuja un rectngulo relleno (el estilo del relleno y color
de este se fijan mediante los procedimientos setfillstyle y setcolor)
puntos, X1, Y1 son el punto inicial y X2, Y2 el punto final,
BAR(160,120,480,360);

Bar3D(X1, Y1, X2, Y2, profundidad, tapada);


Dibuja un rectngulo en tercera dimensin entre 2 puntos,
X1, Y1 son el punto inicial y X2, Y2 el punto final, profundidad es la
distancia desde el borde hacia el interior y tapada es una variable de
tipo BOOLEAN que la dibuja con la tapa superior cuando esta en
True, y sin ella cuando esta en False.

Curvas
Circle(Columna, Fila, Radio);
Pinta un circulo en la columna, fila, con un radio que se mide
en Pixels; por ejemplo:
Circle(320,240, 200);
Dibuja un circulo en la columna 320, fila 240 de 200 pixels de radio;

ARC (C,F, Ang_ini, Ang_fin, Radio);


Arc(Columna, Fila, Angulo_inicial, Angulo_final, radio);
Pinta una porcin de un circulo en la columna, fila con un radio que
se mide en pixels, empezando en Angulo_incial en el sentido
contrario al de las manecillas del reloj y terminando en
Angulo_final, en el sentido matemtico

Trazo de arcos: en forma matemtica


90

Opuesto a las manecillas


del reloj.

0
360

180

270

Rectangle(0,0,639,479);
Line(320,0,320,479);
Line(0,240,639,240);
X:=0;
Repeat
ARC(320,240,0,180,x);
delay(200);
X:=X+10;
Until(x>320);
Readkey;
Closegraph;
End.

Ellipse(Columna, Fila, Angulo_inicial, Radio_Columnas, Radio_filas);


Se comporta de manera similar a Arc,
solo que aqu se Pinta un ovalo y se debe especificar el radio en X y Y.

PieSlice(Columna,Fila, ngulo_inicial, Angulo_final, Radio);


PieSlice dibuja un trozo de Circulo relleno con centro C, R,
y comienza en Ang_inicial y termina en Ang_Final, y como
ltimo valor se le da el radio. Esto matemticamente iniciando
de 0 hasta 360, el color se configura con setfillstyle(1,color);

FillEllipse(Columna, Fila, Radio_Columnas, Radio_filas);


Pinta una elipse rellena (Un ovalo), cuyo radio en radio en X y Y se
debe especificar,
setcolor(4);{Se fija el color a ROJO}
Setfillstyle(1,YELLOW); {Se fija el estilo de relleno a liso con
color amarillo}
floodfill(getmaxx div 2,getmaxy div 2,YELLOW);{Se rellena el
circulo con color amarillo}

Sector(Columna,Fila, Angulo_inicial, Angulo_final, RadioX, RadioY);

Sector dibuja un sector con centro en columna, fila, que


empieza en Angulo_Inicial, termina en Angulo_Final, con un
radio horizontal RadioX y un radio vertical RadioY., donde el
Angulo_Inicial y Angulo_Final es matemticamente.

TEXTOS
El sistema Grafico tambin permite colocar textos adems de
tamaos, colores y diferentes tipos de letras. Las instrucciones son;
OutText (TEXTO);
OutTextXY( X, Y, TEXTO);
La instruccin OutText (TEXTO); coloca el texto donde est la
pluma de dibujor, para posicionarla utiliza la instruccin
Moveto (X,Y);
OutTextXY( X,Y,TEXTO);
La instruccin posiciona el TEXTO en las coordenadas en
Columna, Rengln.(pixeles)
OutTextXY( 320,240,Prueba de OutTextXY);
Moveto(320,100); OutText(Prueba de OutText)
Readkey;
Closegraph;
End.

SetTextStyle( Tipo de letra, Direccin, Tamao);


SetTextStyle : puede modificar el tipo de letra, orientacin de la
escritura y el tamao de letra que se escribe.
Tipo de letra : Puede seleccionarse con nmero o con nombre, los
nombres estn en la carpeta BGI. (nmeros del 0 al 13)
Direccin 0 = Horizontal
1 = Vertical
Tamao : Pixeles
Setcolor(14);
SetTextStyle(5, 0, 4);
OutTextXY(150,240,Prueba de Texto);
{ debes de probar los diferentes tipos de letras y los tamaos }

También podría gustarte