Ir para conteúdo
Fórum Script Brasil
  • 0

Impressão De Gráficos Em C


Behnkebr

Pergunta

Prezados colegas:

Estou desenvolvendo um programa cientifico para calculo de torres em

Engenharia, o qual utiliza o modo grafico e o modo texto da linguagem C

(Trabalho para a faculdade).

O algoritmo de calculo funcionou perfeitamente, porem necessito imprimir

exatamente o que esta na tela (assim como o Print Screen do Windows). Em

modo texto, a impressao funcionou (se bem que em preto e branco ...).

já em modo grafico ... não Imprime nada "NEM A PAU" !!!

então pergunto:

-> Seria possivel a impressao exata da tela em modo texto (com fundo

e letras coloridas) ???

-> Seria possivel a impressao exata da tela em modo grafico (impressao

colorida) ???

Utilizo o compilador C++ da Borland Versao 3.1. Eis abaixo um pedaço

do codigo:

#include <conio.h>

#include <dos.h>

#include <graphics.h>

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define VIDEO 0x10

#define IMP 0x17

#define PSC 0x5

.

.

.

void TelaFundo(char *TEXTO);

void GraficoTorre(float *NCEL);

void imprimetela(void);

int inimp(void);

void main(void)

{

TelaFundo("Dados de Entrada");

.

.

.

getche();

inimp();

imprimetela();

getche();

.

.

.

// programa principal;

.

.

.

GraficoTorre(& Ns);

getche();

inimp();

imprimetela();

closegraph();

getche();

}

void TelaFundo(char *TEXTO)

{

.

.

.

// algoritmo para o desenho da tela (modo texto);

.

.

.

}

void GraficoTorre(float *NCEL)

{

initgraph(&gdriver, &gmode, "");

errorcode = graphresult();

if(errorcode != grOk)

{

printf("Erro Grafico: %s\n",grapherrormsg(errorcode));

printf("Pressione alguma tecla para continuar:");

getch();

exit(1);

}

.

.

.

// algoritmo para o desenho gráfico na tela do monitor (modo grafico);

.

.

.

}

// rotina da ROM BIOS inicializa a impressora

int inimp(void)

{

union REGS regs;

regs.h.ah=1;

regs.x.dx=0;

int86(IMP,&regs,&regs);

return(regs.h.ah);

}

// rotina da ROM BIOS para impressao

// ("Print Screen" em DOS)

void imprimetela(void)

{

union REGS regs;

regs.h.ah=5;

int86(PSC,&regs,&regs);

}

Por favor ME AJUDEM !!! já "revirei" a net e não encontrei nada !!!

Desde já agradeço !!!

Behnkebr

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...