|
Introdução ao uso do modo gráfico em CDomínios e alojamento Clube 24 - Amizades Computadores Portáteis |
|
#1
|
|||
|
|||
|
O modo gráfico permite apresentar imagens no ecrã do computador. Normalmente, um programa em C é escrito para o modo de texto, onde apenas são suportados os caracteres ASCII. Se pretendermos criar um programa que mostre imagens, como figuras geométricas ou outras, temos de recorrer ao modo gráfico, que soporta resuluções de até 640x480 pixels a 16 cores.
Existe uma biblioteca de funções, denominada "graphics.h" que dispõe das funções básicas para este modo de desenho, como a inicialização e encerramento do modo gráfico, desenho de figuras geométricas (triângulo, rectângulo, quadrado, arco, circunferência,etc.) e outras funções que contribuem para a boa eficiência na impressão de uma imagem no ecrã. Observemos o seguinte programa para conhecermos melhor o modo gráfico: Código:
#include <graphics.h> /* utilização da biblioteca graphics.h */
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* activar detecção automática do modo gráfico*/
int gdriver = DETECT, gmode, errorcode;
/* a variável gdriver irá detectar a resolução e números de cores que o hardware pode suportar*/
/* inicialização do modo gráfico */
initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
/* ler resultado da inicialização do modo gráfico */
errorcode = graphresult();
if (errorcode != grOk) /* erro detectado */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* retornar código de erro */
}
/* desenhar um círculo */
circle(getmaxx()/2,getmaxy()/2,100);
getch();
closegraph(); /* desactivação do modo gráfico */
return 0;
}
O "gmode" é a resolução e número de cores adequado ao driver escolhido pelo "gdriver". Depois da inicialização do modo gráfico, o programa irá ler o resultado dessa operação. Se houver um erro, o programa termina e será apresentada uma mensagem de erro descrevendo o problema existente. Este programa desenha um círculo centrado, de raio 100. As instruções getmaxx() e getmaxy() retornam o valor máximo do comprimento e largura do ecrã, adequando o desenho á resolução utilizada.
__________________
http://www.forumtecnologia.pt.vu/ |