Forum ada95000 Dernière connexion : 26/06/2025 à 16:19
Fin de session : 26/06/2025 à 16:29

Vous n'êtes pas connecté [Connexion - Inscription]
Go Bottom
Version imprimable | Envoyer à un ami | S'abonner | Ajouter aux Favoris Nouveau SujetNouveau sondageRépondre
Auteur: Sujet: Faire une image .pgm de 256 par 256 avec des rayures verticales   ( Réponses: 0 | Vues: 671 )
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff
 
images/avatars/WC3HumanOp1.gif
 
Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 28/05/2004 à 01:21 Reply With Quote
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...
http://ftprods.free.fr
Go Top #55 Go Bottom
View ftbass's ProfileE-Mail ftbassVisit ftbass's HomepageView All Posts by ftbassU2U Member
Nouveau SujetNouveau sondageRépondre

Go Top
10.2.59.74 16:19 - 26 Juin 2025 10.2.59.74
[ 0.1840580 secondes | Effacer le cookie | 19 requêtes ]
Oxygen v1.0.11 © 2002  |  Oxygen WebSite © 2002