Faire une image .pgm de 256 par 256 avec des rayures verticales
|
chti programme écrit pour tester mon projet :
code:
--//////////////////////////////////////////////////////////--
-- Code écrit par Julien COIGNET --
-- afin de vérifier le programme de compression --
--//////////////////////////////////////////////////////////--
with text_io; use text_io;
with ada.integer_Text_Io; use ada.integer_Text_Io;
with sequential_io;
procedure creationImage is
--////////////////////////////////////////////////////////////////////////--
-- Paquetages --
--////////////////////////////////////////////////////////////////////////--
package fichier_car is new sequential_IO(character); use fichier_car;
--////////////////////////////////////////////////////////////////////////--
-- Types --
--////////////////////////////////////////////////////////////////////////--
-- Type Entete: Vecteur qui contient l'entete du fichier image
type TypeEntete is array (0..42) of character;
-- Type Matrice: Matrice qui reçoit le contenu d'une image de 256 par 256 pixels
type TypeMatrice is array (0..255, 0..255) of character;
--////////////////////////////////////////////////////////////////////////--
-- Programme principal --
--////////////////////////////////////////////////////////////////////////--
Fichier : fichier_car.file_type;
Matrice : typeMatrice;
entete : typeEntete;
compteur : integer := 0;
begin
create(Fichier, name => "img.pgm");
entete(0..1) := "P5";
entete(2) := character'val(10);
entete(3..29) := "# Created by Julien COIGNET";
entete(30) := character'val(10);
entete(31..37) := "256 256";
entete(38) := character'val(10);
entete(39..41) := "255";
entete(42) := character'val(10);
for i in 0..42 loop
write(fichier, entete(i));
end loop;
for i in 0..255 loop
for j in 0..255 loop
compteur := compteur + 1;
if compteur <= 2 then
write(fichier, character'val(0));
else
write(fichier, character'val(255));
end if;
if compteur = 4 then
compteur := 0;
end if;
end loop;
end loop;
close(fichier);
put("Image creee avec succes.");
end creationImage;
|
On peut y voir comment est faite l'entete d'un .pgm...
|
|