1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
FILE * FILEIN;
FILE * FILEIN2;
unsigned char mot[4];
FILEIN = fopen(ima1,"rb");
FILEIN2 = fopen(ima2,"rb");
fread(mot,2,1,FILEIN); //BM
fread(mot,4,1,FILEIN); //taille de l image
taille=(int)convWrd(mot);
fseek(FILEIN,10L,SEEK_SET);
fread(mot,4,1,FILEIN); //longueur de l image
data=(int)convWrd(mot);
fseek(FILEIN,18L,SEEK_SET);
fread(mot,4,1,FILEIN); //hauteur de l image
longueur=(int)convWrd(mot);
fread(mot,4,1,FILEIN);
largeur=(int)convWrd(mot);
fseek(FILEIN,0,SEEK_SET);
bmp=(unsigned char *)malloc(taille*sizeof(unsigned char));
unsigned char entete[data];
fread(entete,data,1,FILEIN);
memcpy(bmp,entete,data*sizeof(unsigned char));
fseek(FILEIN,data,SEEK_SET);
unsigned char in[taille-data];
fread(in,taille-data,1,FILEIN);
for (int i=data; i<taille; i++)
bmp[i]=in[i-data];
image1 = new BMP(longueur, largeur, in);
imapt1 = new BMP(longueur, largeur, in);
image2 = new BMP(longueur, largeur,in);
imapt2 = new BMP(longueur, largeur,in);
imavx = new BMP(longueur, largeur,in);
imavy = new BMP(longueur, largeur,in);
imacor = new BMP(longueur, largeur,in);
fclose(FILEIN);
fseek(FILEIN2,data,SEEK_SET);
fread(in,taille-data,1,FILEIN2);// c ici que tout se passe !
image2->setData(in);
imapt2->setData(in);
fclose(FILEIN2); |
Partager