/*************************************************************************** Programme : digitalisation pour TARM Auteur : ROBER SERGE Date : 30/10/1993 ****************************************************************************/ #include #include #include #include #include #include #include #include #include /*#include "com.h"*/ short cpt=0,np=0,xdp=0,bl,bll,apd; int xd,yd,sx,sy,vid,da,dp,dap,v=0,col=12; FILE *in; void fload(); void fquit(); main() { int code,cara; if (_setvideomode(_VRES16COLOR) !=0) { _clearscreen(_GCLEARSCREEN); _setcliprgn(0,0,639,479); _rectangle(_GBORDER,0,0,639,479); _rectangle(_GBORDER,479,0,479,479); _rectangle(_GBORDER,479,35,639,35); _rectangle(_GBORDER,479,230,639,230); _settextcolor(15); _settextposition(2,67); _outtext("DISPLAY\n"); _settextcolor(11); _settextposition(4,62); _outtext("Name :"); _settextposition(6,62); _outtext("Nb pts :"); _settextposition(6,71); printf("%d",np); _settextposition(8,62); _outtext("Blanck :"); _settextcolor(15); _settextposition(11,67); _outtext("RS Laser"); _settextposition(13,63); _outtext("Copyright 1994(@)"); _settextcolor(11); _settextposition(17,62); _outtext("F1 : Load"); _settextposition(18,62); _outtext("F2 : Quit"); while((cara=getch())!= '\r') if(cara != 0) {} else { code=getch(); if (code==59) fload(); else if (code==60) {_setvideomode(_DEFAULTMODE);break;} else continue; } _setvideomode(_DEFAULTMODE); } else { _setvideomode(_DEFAULTMODE); printf ("MODE VIDEO NON SUPPORTE\n"); } } /*************************************************************************** CHARGEMENT DES IMAGES ****************************************************************************/ void fload() { int a=0x11,b=0x10,c=15,cpt,sw=0,dx,dy,tes=0,test=0; fpos_t posi; short x,xx,rx,y,yy,ty,xy,ry,np,ex,ey; FILE *fichier; char ligne[8]; np=0; _settextposition(4,71); _outtext(" "); _settextcolor(15); _settextposition(27,04); _outtext("8 LETTRES MAX."); _settextposition(28,04); _outtext("Entrez le nom du fichier :"); _settextcolor(11); gets(ligne); _setcliprgn(1,1,478,478); _clearscreen(_GVIEWPORT); _settextposition(4,71); printf("%s",ligne); if((fichier=fopen(ligne,"r"))==NULL) { _settextposition(28,10); _outtext("Impossible d'ouvrir le fichier"); return; } rewind(fichier); while(!feof(fichier)) { xy=fgetc(fichier); for ( ; sw!=1 ; xy=fgetc(fichier) ) /**************************************************************************** RECHERCHE & CALCUL DE LA MATRIX ****************************************************************************/ if(xy==a)sw=1; if(xy==a){} else { for (cpt=1 ; !feof(fichier) && xy!=a ; cpt++) { if (cpt==1) { x=xy; if(x<127)xx=x+128; else xx=x-128; } else if (cpt==2) { y=xy; if(y<127)yy=y+128; else yy=y-128; ty=255-yy; rx=xx*1.8710937; ry=ty*1.8710937; np=np+1; tes=tes+1; _settextposition(20,71); printf(" "); _settextposition(20,71); printf("%d",tes); _settextposition(21,71); printf(" "); _settextposition(21,77); printf(" "); _settextposition(21,71); printf("%X",x); _settextposition(21,77); printf("%X",y); _setcolor(c); _setpixel(rx,ry); } else if (cpt>=3) { if(xy==0x10) { xy=fgetc(fichier); if(xy==0x80) { _settextposition(8,71); printf("OPEN "); c=15; xy=fgetc(fichier); } if(xy==0x00) { _settextposition(8,71); printf("CLOSE"); c=10; xy=fgetc(fichier); } } if(xy==00) {} else { dx=xy/b; dy=xy%b; ex=dx-8; ey=dy-8; xx=xx+ex; yy=yy+ey; ty=255-yy; rx=xx*1.8710937; ry=ty*1.8710937; np=np+1; test=test+1; _settextposition(23,71); printf(" "); _settextposition(23,71); printf("%d",test); _settextposition(24,71); printf(" "); _settextposition(24,77); printf(" "); _settextposition(24,71); printf("%X",dx); _settextposition(24,77); printf("%X",dy); _setcolor(c); _setpixel(rx,ry); } } xy=fgetc(fichier); _settextposition(6,71); printf("%d",np); } if(feof(fichier)); } } fclose(fichier); }