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
|
PROCEDURE GraphBmp(Code_Cf: Z_32);
BEGIN
Saisie_Dim_BMP(2, 4, Larg_Image, Haut_Image, Prod_LaHa);
InitMatrIm(4, Code_Cf, Matr_Image);
CalcTaille(Larg_Image, Haut_Image, T_Image, T_Fichier);
Init_Entete(En_Tete);
END;
PROCEDURE Creation_F(La, Ha: Z_32);
CONST C1 = 71; L1 = 9; Lim = T_Entete - 1;
VAR Delta, n, Zero: Byte; k, x, y: Z_32;
BEGIN
Aff_NomF(Nom_F); Assign(Fichier, Nom_F); Rewrite(Fichier);
FOR k:= 0 TO Lim DO Write(Fichier, En_Tete[k]);
k:= Lim; E(0008); Compteur(C1, L1-1, -k);
E(0012); Delta:= La MOD 4; Zero:= 0;
FOR y:= 0 TO (Ha - 1) DO
BEGIN
FOR x:= 0 TO (La -1) DO
FOR n:= 3 DOWNTO 1 DO BEGIN // Inversion (RvB)/(BvR)
Inc(k);
Write(Fichier, Matr_Image[x, y][n]);
Compteur(C1, L1, k)
END;
IF Delta>0 THEN FOR n:= 1 TO Delta DO BEGIN
Inc(k); Write(Fichier, Zero);
Compteur(C1, L1, k)
END
END;
Close(Fichier); Compteur(C1, L1, -k);
E(0008); Wt(4, L1, 'Rang du dernier octet:');
Compteur(39, L1, -k); E(0014); Wt(C1-1, L1+2, 'Û FIN Û')
END; |
Partager