TEMA: USO DE PUTPIXEL EN MODOS GRÁFICOS C++
TRBAJO DE: PROGRAMACIÓN II
INTEGRANTES: JOSÉ GUSTAVO MASAQUIZA GABRIELA CHANGO MASAQUIZA CRISTINA GANÁN PAREDES
3º INFORMÁTICA Y COMPUTACIÓN MODO GRÁFICO
Página 1
ÍNDICE Pág MODO GRÁFICO……………………………………………………………………………………………….………3 ACTIVACIÓN DEL MODO GRÁFICO ……………………………………………………………………………3 CONCEPTO DE PÍXEL EN C GRÁFICOS ……………………………………………………………………….3 DIBUJAR UN CÍRCULO……………………………………………………………………………………….……..4 DIBUJAR UN RECTÁNGULO……………………………………………………………………………….………4 DIBUJAR UNA LÍNEA…………………………………………………………………………………………..…….5 OBTENER COORDENADAS MÁXIMAS………………………………………………………………….…….5 FUNCIONES DE MODO GRÁFICO…………………………………………………………………….…………5 PROGRAMA EJECUTABLE DE PUTPIXEL EN MODO GRÁFICO………………………………….….6 EJECUCIÓN DEL PROGRAMA…………………………………………………………………………………..27 BIBLIOGRAFÍA…………………………………………………………………………………………………………29
MODO GRÁFICO
Página 2
Es una interfaz gráfica, es decir el modo como interactúan las diversas aplicaciones con el usuario final, han evolucionado a un ritmo acelerado en esta última década; de monitores con texto color ámbar o verde en los años ochenta, hemos pasado a pantallas súper VGA de alta definición controladas por GUI (Graphic User Interface) que hacen más fácil y amigable el manejo de las diversas aplicaciones de la computadora.
Antes que nada debemos activar el modo gráfico. De acuerdo al compilador que usemos tendremos maneras distintas de hacerlo. Si se trata de C++ debemos dirigirnos a Help, Index, Putpixel y allí cliquear en la opción "Graphics library".
Pixel es también llamado como elementos de la imagen. Estos no son más que pequeños puntos. El uso de estos pequeños puntos o en otras palabras píxeles imágenes, especialmente imágenes gráficas se basan en la pantalla. 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.
MODO GRÁFICO
Página 3
circle(x, y, angulo_inicial, angulo_final, radio); Para hacer el círculo completo necesitamos que el ángulo inicial sea igual a 0 y el ángulo final a 360. circle(62,40,k);
k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(25,385,k); k=k+4; delay(150); }
rectangle(X1, Y1, X2, Y2); rectangle(10,15,625,465); Dibuja un rectángulo entre 2 puntos, X1, Y1 son el punto inicial y X2, Y2 el punto final, donde: X1 = Columna Inicial Y1 = Fila Inicial MODO GRÁFICO
Página 4
X2 = Columna Final Y2 = Fila Final.
line(10,55,625,55); Line(X1, Y1, X2, Y2); Traza una linea recta entre 2 puntos, X1, Y1 son el punto inicial y X2, Y2 el punto final, donde: X1 = Columna Inicial Y1 = Fila Inicial X2 = Columna Final Y2 = Fila Fina.
int maxx=getmaxx(); int maxy=getmaxy();
Cleardevice(); //limpia pantalla Setbkcolor( int Color); // pone el color de fondo de la pantalla Setcolor( int color); //elige el color de los trazos que se agan. int gdriver = DETECT, gmode, errorcode;//variables para detectar modo grテ。fico.
MODO GRテ:ICO
Pテ。gina 5
initgraph(&gdriver, &gmode, ""); //inicializar modo grafico setcolor(2); //color de línea setfillstyle(1,2); //tipo de rellenado y color rectangle(x1,y1,x2,y2); //dibujar cuadrado floodfill(x,y,2); //rellena la figura. Los valores de "x" y "y" deben //estar dentro de la figura a rellenar. delay(5); //tiempo que tarda en repetir el ciclo closegraph(); //cerrar modo grafico Settextstyle (int tipo de letra, int orientación, int tamaño);
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <dos.h>
#define PIXEL_COUNT 4000 #define DELAY_TIME 70 /* in milliseconds */ int i,j,k; void main() { /* request autodetection */ int gdriver = DETECT, gmode, errorcode;
MODO GRÁFICO
Página 6
int i, x, y, color, maxx, maxy, maxcolor, seed; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "I:\\TC\\BGI"); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ } //CARATULA// k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(getmaxx()/24,getmaxy()/19,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++)
MODO GRテ:ICO
Pテ。gina 7
{ circle(85,26,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(145,26,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(205,26,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++)
MODO GRテ:ICO
Pテ。gina 8
{ circle(265,26,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(325,26,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(385,26,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++)
MODO GRテ:ICO
Pテ。gina 9
{ circle(445,26,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(505,26,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(565,26,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++)
MODO GRテ:ICO
Pテ。gina 10
{ circle(617,26,k); k=k+4; delay(150); }
//POSICIONAMIENTO DE COLUMNA DERECHA// k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(617,85,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(617,145,k); k=k+4; delay(150); } k=5;
MODO GRテ:ICO
Pテ。gina 11
setcolor(YELLOW); for(i=1;i<=5;i++) { circle(617,205,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(617,265,k); k=k+4; delay(150); }
k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(617,325,k); k=k+4; delay(150); }
MODO GRテ:ICO
Pテ。gina 12
k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(617,385,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(617,445,k); k=k+4; delay(150); } //POSICIONAMIENTO DE LA FILA INFERIOR//
k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(565,445,k); k=k+4;
MODO GRテ:ICO
Pテ。gina 13
delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(505,445,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(445,445,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(385,445,k); k=k+4;
MODO GRテ:ICO
Pテ。gina 14
delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(325,445,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(265,445,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(205,445,k); k=k+4;
MODO GRテ:ICO
Pテ。gina 15
delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(145,445,k); k=k+4; delay(150); } k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(85,445,k); k=k+4; delay(150); } k=5; setcolor(YELLOW); for(i=1;i<=5;i++) { circle(25,445,k); k=k+4;
MODO GRテ:ICO
Pテ。gina 16
delay(150); }
//POSICIONAMIENTO DEL LA COLUMNA IZQUIERDA//
k=5; setcolor(WHITE); for(i=1;i<=5;i++) { circle(25,385,k); k=k+4; delay(150); } setcolor(YELLOW); k=5; for(i=1;i<=5;i++) { circle(25,325,k); k=k+4; delay(150); } setcolor(WHITE); k=5; for(i=1;i<=5;i++)
MODO GRテ:ICO
Pテ。gina 17
{ circle(25,265,k); k=k+4; delay(150); } setcolor(YELLOW); k=5; for(i=1;i<=5;i++) { circle(25,205,k); k=k+4; delay(150); } setcolor(WHITE); k=5; for(i=1;i<=5;i++) { circle(25,145,k); k=k+4; delay(150); } setcolor(YELLOW); k=5; for(i=1;i<=5;i++)
MODO GRテ:ICO
Pテ。gina 18
{ circle(25,85,k); k=k+4; delay(150); } //
//BIENVEDIDA// settextstyle(3,0,3); setcolor(10); outtextxy(250,150,"BIENVENIDOS"); outtextxy(185,210,"A UN PEQUEツ・O PASEO"); outtextxy(195,270,"DE MODO GRAFICO"); maxx = getmaxx() + 1; maxy = getmaxy() + 1; maxcolor = getmaxcolor() + 1; while (!kbhit()) { /* seed the random number generator */ seed = random(32767); srand(seed); for (i=0; i<PIXEL_COUNT; i++) { x = random(maxx); y = random(maxy);
MODO GRテ:ICO
Pテ。gina 19
color = random(maxcolor); putpixel(x, y, color); } delay(DELAY_TIME); srand(seed); for (i=0; i<PIXEL_COUNT; i++) { x = random(maxx); y = random(maxy); color = random(maxcolor); if (color == getpixel(x, y)) putpixel(x, y, 0); } } //CARATULA//
MODO GRテ:ICO
Pテ。gina 20
MODO GRテ:ICO
Pテ。gina 21
MODO GRテ:ICO
Pテ。gina 22
MODO GRテ:ICO
Pテ。gina 23
MODO GRテ:ICO
Pテ。gina 24
MODO GRテ:ICO
Pテ。gina 25
MODO GRテ:ICO
Pテ。gina 26
EJECUCIÓN DEL PROGRAMA
MODO GRÁFICO
Página 27
MODO GRテ:ICO
Pテ。gina 28
BIBLIOGRAFÍA
http://chuwiki.chuidiang.org/index.php?title=Gr%C3%A1ficos_Usando_graphic s.h http://translate.google.com.ec/translate?hl=es&langpair=en|es&u=http://ww w.exforsys.com/tutorials/c-language/concept-of-pixel-in-c-graphics.html http://www.fortunecity.com/skyscraper/seagate/1072/pmgrafi.htm
MODO GRÁFICO
Página 29
MODO GRテ:ICO
Pテ。gina 30