Uso de Gráficos no ambiente Dev C++ Prof. Paulo André Castro ITA - IEC



Documentos relacionados
Uso de Gráficos no ambiente Borland C++ Prof. Paulo André Castro ITA - IEC

Borland Pascal desde a versão 3 tem unidades para tratamento de gráficos. A partir da versão 5, passa a oferecer a unidade "GRAPH. TPU".

Programas exemplo Gráficos no Dev-C++ usando a biblioteca BGI

Instituto Federal de São Paulo IFSP Prof.a Tânia M. Preto. Gráficos no Dev-C++ usando a bibliteca graphics.h. 1. Dicas de instalação:

ESCOLA TÉCNICA DATA WAY Av. Francisco Glicério, Telefone: (19) Entrada e Saída

Disciplina: INF Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010

LINGUAGEM C. Comandos de Controle do Vídeo, Teclado e especiais. Lógica de Programação

Manual de Instalação ( Client / Server ) Versão 1.0

O Primeiro Programa em Visual Studio.net

Tutorial de Instalação do Ambiente de Programação Dev-C++

Biblioteca conio2.h Dev-C++

Ambiente Online de Programação em C.

1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks:

Portaria Express 3.0

Manual Instalação Pedido Eletrônico

GraphicsLib Biblioteca Gráfica 2D. Documentação

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

Criação e execução a partir do Dev-C... 1 Erros de compilação... 4 Executar programa no DOS... 4 Ajustando o programa para executar no DOS...

TUTORIAL COM OS PROCEDIMENTOS DE

INSTALAÇÃO DO CHEF FOODS NET

Como usar o bluej. Laboratório I Prof.ª Vera Alves

Gerando enquêtes para uso em Pocket PCs V

Algoritmos e Programação Estruturada

REP idx. Manual de integração com Ponto Secullum 4

COMO GERAR UM ARQUIVO NÃO IDENTIFICADO NO TABWIN

Guia rápido de impressão e cópia em FRENTE E VERSO

- Acessar o sistema. Para acessar o sistema digite o endereço eletronico e clique em login na barra de menus.

Curso de C para Engenharias

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Computação Gráfica 3D Studio Max Prof.: Luiz Gonzaga Damasceno

INSTALANDO SOFTWARE Ifox irestaurantes

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

TRBOnet MDC. Guia de Instalação

ftp://ftp.cr-df.rnp.br/pub/netinfo/training/rnp/kit-bsb/html/guia.zip novembro 1996 Tutorial - Autoria em World Wide Web

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Guia e Utilização do Visual Studio 6.0

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS MÓDULO DO CERTIFICADOR

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

MANUAL DE NAVEGAÇÃO DO MILLENNIUM BUSINESS

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Programa EndNote. Download para teste no site: (Atualmente o EndNote está na versão 5x)

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

GUIA DE CONFIGURAÇÃO AUTENTICAÇÃO DE REDES WIFI COM CAPTIVE PORTAL

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 05: Editores de Imagem Paint / GIMP

Motorola Phone Tools. Início Rápido

DCC 003 Algoritmos e Estruturas de Dados I Tutorial de instalação do GCC e do TextPad

Programação de Computadores I. Conhecendo a IDE Code::Blocks

mobile PhoneTools Guia do Usuário

Manual do Usuário Solução para Integração B2B Siagri x Conecta BASF Thiago Borges de Oliveira thiago.oliveira@siagri.com.br

Passos para a configuração do ambiente de desenvolvimento:

OneDrive: saiba como usar a nuvem da Microsoft

Manual de implantação

- Configuração de Ambiente para Aplicação de Patch

Tutorial MSN Messenger

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

NetEye Guia de Instalação

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

PROCEDIMENTO PARA INSTALAR REDE ETHERNET EM CNC s FAGOR.

CENTRAL DE RELACIONAMENTO ATENDIMENTO ON LINE

MANUAL DE USO MÓDULO SICOOBNET EMPRESARIAL

MODEM USB LTE. Manual do Usuário

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Microsoft Access XP Módulo Um

Informática Básica. Microsoft Word XP, 2003 e 2007

AFPERGS Manual do Portal Web

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com

AULA 6: SERVIDOR DNS EM WINDOWS SERVER

Passos para migração para o Protheus 11.5 HelpDesk Framework Protheus - Janeiro/2013

Manual de baixa do Certificado Digital AR SOLUTI. Versão 2.0 de 7 de Maio de Classificação: Ostensiva

Professor Paulo Lorini Najar

Roteiro de Uso do InstallShield

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet

Sistema de Pré-Postagem

Manual Integra S_Line

Instruções de instalação e remoção para os drivers de impressora PostScript e PCL do Windows Versão 8

Manual de Instalação Software do Cartão Inteligente

Compartilhamento de pasta/arquivos/impressora no Windows XP SP2

Manual de uso PSIM Client 2010

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Certificado Servidor Web Importação por Microsoft IIS

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

1) Verifique se o Microsoft.Net Framework 3.5 está instalado, para isto, abrir o Painel de Controle e verificar:

Guia de instalação GPRS

Manual Operacional SIGA

Guia de instalação GPRS

Manual de Instalação do Agente Citsmart

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Microsoft Office PowerPoint 2007

ScriptPro Script PNR Básico

Microsoft Lync Manual de Instalação e Uso

Manual Captura S_Line

PREFEITURA DE DEMONSTRAÇÃO ESTADO DE SÃO PAULO

Transcrição:

Uso de Gráficos no ambiente Dev C++ Prof. Paulo André Castro ITA - IEC 1. Introdução O padrão ANSI da linguagem C (C ANSI) não define rotinas gráficas, entretanto elas são necessárias em vários programas profissionais. Por tal razão, foram criados independentemente vários conjuntos de rotinas gráficas como por exemplo o Microsoft C/C++ para DOS e o Borland Graphics Interface (BGI). Além destas, junto com sistemas operacionais baseados em janelas (Windows, X Windows, Mac OS, etc.) foram criadas bibliotecas gráficas para trabalhar com tais sistemas. Existem ainda outras bibliotecas gráficas avançadas, como o OpenGL, capazes de construir gráficos em 3D. No contexto de um curso de introdução a computação, é interessante utilizar uma biblioteca gráfica simples em 2D, mas que forneça funções de desenhos formas geométricas, como retas, círculos, retângulos, etc. Por sua simplicidade, foi escolhida uma versão da BGI (BGIm) criada para operar no ambiente Dev C++. O restante deste documento, descreve como instalar e utilizar o BGI. Maiores informações sobre a implementação do BGI para Dev C++ podem ser obtidas em http://www.cs.colorado.edu/%7emain/cs1300/doc/bgi/bgi.html. O livro Programação Orientada a Objetos com Turbo C++ do autor G. Perry (disponível na biblioteca do ITA) traz no seu apêndice F uma breve introdução ao uso de BGI em programas gráficos. 2. Instalação da Biblioteca BGI no ambiente Dev C++ O código binário do BGIm e maiores detalhes sobre suas funções e seus desenvolvedores estão disponíveis em http://www.cs.colorado.edu/%7emain/cs1300/doc/bgi/bgi.html. Os arquivos necessários para instalação do BGI no Dev C++ são: graphics.h libbgi.a (copiar em C:\Dev-Cpp\include) (copiar em C:\Dev-Cpp\lib) 2.1. Uso de Projetos Para trabalhar em modo gráfico será necessário utilizar o conceito de Projeto. Um projeto pode ser considerado como um container que armazena todos os elementos que irão compor um programa. 2.1.1. Criando um novo projeto. Clique no menu "File" e selecione "New", "Project...". Escolha "Empty Project" e certifique-se que a opçao "C++ project" está selecionada. Escolha um nome para o projeto. Você pode dar qualquer nome válido para um arquivo. O nome do projeto sera o nome do executável a ser gerado.

Após escolher o nome, clique "OK". O Dev-C++ irá perguntar onde salvar o projeto, escolha um diretório apropriado e salve o projeto. 2.1.2. Criando ou adicionando arquivos ao projeto. Você pode criar arquivos fonte em branco, de duas formas: Clique no menu "File" e selecione "New Source File" ou Clique no menu "Project" e selecione "New File". 2.1.3. Configuração do uso da biblioteca gráfica no projeto. Criado o projeto, você precisa dizer ao Dev-C++ que este deve utilizar a biblioteca BGIm (que implementa o BGI para o Dev-C++). Isto é feito através da janela "Project Options". Abaixo segue um conjunto de passos para realizar a tarefa. Clique no menu "Project" e escolha "Project Options" Clique na tab Geral e selecione Win32 GUI Clique na tab "Parameters" No campo "Linker", digite o seguinte texto (ver figura 1): -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 Figura 1. Configuração do Dev C++ para utilizar a biblioteca BGI 3. Primeiros programas gráficos Crie um arquivo fonte (ver seção 2.1.2) e digite o código abaixo. Código 1. Um programa gráfico simples #include <stdio.h> #include <graphics.h>

main () { } int i, j, left, top, bottom, right; initwindow(700,500); left = 10; right = 600; top = 10; bottom = 200; for (i = top; i <= bottom; i++) for (j = left; j <= right; j++) putpixel (j, i, MAGENTA); getch ( ); closegraph ( ); Tabela. 1. Lista de cores disponíveis no BGI Valor Símbolo Valor Símbolo 0 BLACK 8 DARKGRAY 1 BLUE 9 LIGHTBLUE 2 GREEN 10 LIGHTGREEN 3 CYAN 11 LIGHTCYAN 4 RED 12 LIGHTRED 5 MAGENTA 13 LIGHTMAGENTA 6 BROWN 14 YELLOW 7 LIGHTGRAY 15 WHITE Código 2. Uma alteração no código 1 para criar novas formas geométricas #include <stdio.h> #include <graphics.h> main () { int i, j, left, top, bottom, right; initwindow(700, 500, Primeiro Programa Gráfico ); left = 10; right = 600; top = 10; bottom = 200; for (i = top; i <= bottom; i++) for (j = left; j <= right; j++) putpixel (j, i, MAGENTA); getch ( ); setcolor (YELLOW); rectangle (left, top, right, bottom); setcolor (LIGHTBLUE); circle (200, 200, 100); setcolor (WHITE); line (50, 350, 550, 50); left = 10; right = 600; top = 400; bottom = 410; setfillstyle (1, GREEN);

bar (left, top, right, bottom); getch ( ); closegraph ( ); } 4. Lista das Funções Disponíveis 4.1. Principais Funções Funções Gráficas Borland BGI Protótipo da Função int initwindow (int width, int height, const char* title="windows BGI", int left=0, int top=0, bool dbflag=false, bool closeflag=true); void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius); void setfillstyle(int pattern, int color); void fillellipse(int x, int y, int xradius, int yradius); void circle(int x, int y, int radius); void far bar(int left, int top, int right, int bottom); void floodfill(int x, int y, int border); void far rectangle(int left, int top, int right, int bottom); void setcolor(int color); void setbkcolor(int color); Getmaxx() e getmaxy() void line(int x1, int y1, int x2, int y2); void lineto(int x, int y); int kbhit() int getch (void); void delay (int millisec); void arc(int x, int y, int stangle, int endangle, int radius); Descrição Cria a janela principal. Desenha elipse Seta estilo de preenchimento: SOLID_FILL, LINE_FILL, etc. e cor de preenchimento Desenha elipse preenchida Desenha círculo com raio e centro definido. Desenha retângulo preenchido. Preenche uma área limitada pela cor definida em border, com a cor de preenchimento. Desenha retângulo não preenchido. Seta cor corrente Seta cor de fundo Retornam os maximos de x e y da tela Desenha uma linha Desenha uma linha da posição corrente para x,y Retorna 1 caso o usuário tenha digitado uma tecla, 0 caso contrário. Não bloqueia o programa. Retorna a tecla digitada pelo usuário. Suspende a execução por um certo número de milisegundos. Desenha um arco de círculo

void outtextxy(int x, int y, char far *textstring); Desenha um texto a partir da posicao x,y 4.2. Outras funções disponíveis na BGI Para maiores informações sobre as funções abaixo e uma lista completa das funções BGI, consulte http://www.cs.colorado.edu/%7emain/cs1300/doc/bgi/bgi.html. As funções marcadas com [WIN] são específicas da implementação BGIm, não fazendo parte da implementação padrão do BGI. int getbkcolor (void); int getch (void); [WIN int getcolor (void); int getcurrentwindow (void); [WIN] int getdisplaycolor (int color); [WIN int getgraphmode (void); int getmaxcolor (void); int getmaxmode (void); int getmaxx (void); int getmaxy (void); int getpalettesize (void); int getpixel (int x, int y); int getx (void); int gety (void); int graphresult(void); int installuserfont (char *name); int kbhit (void); [WIN int registerbgidriver (void (*driver)(void)); int registerbgifont (void (*font)(void));

int textheight (char *textstring); int textwidth (char *textstring); void arc (int x, int y, int stangle, int endangle, int radius); void bar (int left, int top, int right, int bottom); void bar3d (int left, int top, int right, int bottom, int depth, int topflag); void circle (int x, int y, int radius); void cleardevice (void); void closegraph (int window=all_windows); [WIN void delay (int millisec); [WIN void drawpoly (int numpoints, int *polypoints); void ellipse (int x, int y, int stangle, int endangle, int xradius, int yradius); void fillellipse (int x, int y, int xradius, int yradius); void fillpoly (int numpoints, int *polypoints); void floodfill (int x, int y, int border); void line (int x1, int y1, int x2, int y2); void linerel (int dx, int dy); void lineto (int x, int y); void moverel (int dx, int dy); void moveto (int x, int y); void outtext (char *textstring); void outtextxy (int x, int y, char *textstring); void pieslice (int x, int y, int stangle, int endangle, int radius); void putpixel (int x, int y, int color); void rectangle (int left, int top, int right, int bottom); void restorecrtmode (void); void sector (int x, int y, int stangle, int endangle, int xradius, int yradius);

void setactivepage (int page); void setallpalette (struct palettetype *palette); void setaspectratio (int xasp, int yasp); void setbkcolor (int color); void setcolor (int color); void setcurrentwindow (int window); [WIN] void setfillpattern (char *upattern, int color); void setfillstyle (int pattern, int color); void setgraphmode (int mode); void setlinestyle (int linestyle, unsigned upattern, int thickness); void setpalette (int colornum, int color); void setrgbpalette (int colornum, int red, int green, int blue); void settextjustify (int horiz, int vert); void settextstyle (int font, int direction, int charsize); void setusercharsize (int multx, int divx, int multy, int divy); void setviewport (int left, int top, int right, int bottom, int clip); void setvisualpage (int page); void setwritemode (int mode); ype* getdefaultpalette (void);