probleme avec bmp_io

probleme avec bmp_io - C++ - Programmation

Marsh Posté le 27-02-2004 à 15:58:50    

bijour tout le monde,
 
je cherche toujours a lire des bmps :)
en fait j'essaye d'utiliser bmp_io de ici : http://www.csit.fsu.edu/~burkardt/ [...] mp_io.html
mais pas moyen, j'en sors toujours avec une erreur de lecture.
 
je pense bien que les fonctions de bmp_io sont bonnes alors je vous montre mon malheureux petit code qui foire (pourtant ya pas grand chose) :
 

Code :
  1. int main(int argc, char* argv[])
  2. {
  3. char* file_name = "test.bmp";
  4. unsigned char *b;
  5. unsigned char *g;
  6. unsigned char *r;
  7. r = NULL;
  8. g = NULL;
  9. b = NULL;
  10. int xsize=0;
  11.  int ysize=0;
  12. bmp_read(file_name, &xsize, &ysize, &r,&g,&b);
  13. cout << "salut" <<endl;
  14. return 0;
  15. }


 
merci de votre aide, je suppose que vous aurez besoin de plus de renseignements donc je vous ecoute :)
 


Message édité par FMulder le 27-02-2004 à 16:04:59

---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 27-02-2004 à 15:58:50   

Reply

Marsh Posté le 27-02-2004 à 16:07:57    

tu sais que en 1H tu peux coder un lecteur de base ?

Reply

Marsh Posté le 27-02-2004 à 16:09:03    

justement non :) je sais pas...


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 27-02-2004 à 16:10:17    

« j'en sors toujours avec une erreur de lecture. »
 
moi mon micro onde fait un drôle de bruit

Reply

Marsh Posté le 27-02-2004 à 16:11:46    

tu m'as lacheé la desolé mais tu appelles quoi un lecteur de base ?


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 27-02-2004 à 16:15:08    

ben tu vois la structure d'un pauvre bmp 24bits sans palette, c'est de la tarte, tu lis les dimensions et tu charges le bitmap. terminé. c'est pas compliqué du tout

Reply

Marsh Posté le 27-02-2004 à 18:03:15    

Vu que tu n'as fait que pomper sa fonction:
 

Code :
  1. bool bmp_read_test ( char *file_in_name )
  2. //****************************************************************************
  3. //
  4. //  Purpose:
  5. //
  6. //    BMP_READ_TEST tests the BMP read routines.
  7. //
  8. //  Modified:
  9. //
  10. //    05 March 2003
  11. //
  12. //  Author:
  13. //
  14. //    John Burkardt
  15. //
  16. //  Parameters:
  17. //
  18. //    Input, char* file_in_name, the name of the input file.
  19. //
  20. //    Output, bool bmp_read_test, is true if an error occurred.
  21. {
  22.   unsigned char *barray;
  23.   bool error;
  24.   unsigned char *garray;
  25.   unsigned char *rarray;
  26.   int xsize;
  27.   int ysize;
  28.   rarray = NULL;
  29.   garray = NULL;
  30.   barray = NULL;
  31. //
  32. //  Read the data from file.
  33. //
  34.   error = bmp_read ( file_in_name, &xsize, &ysize, &rarray, &garray,  
  35.     &barray );
  36. //
  37. //  Free the memory.
  38. //
  39.   delete [] rarray;
  40.   delete [] garray;
  41.   delete [] barray;
  42.   if ( error )
  43.   {
  44.     cout << "\n";
  45.     cout << "BMP_READ_TEST - Fatal error!\n";
  46.     cout << "  The test failed.\n";
  47.   }
  48.   else
  49.   {
  50.     cout << "\n";
  51.     cout << "BMP_READ_TEST:\n";
  52.     cout << "  XSIZE = " << xsize << ".\n";
  53.     cout << "  YSIZE = " << ysize << ".\n";
  54.     cout << "\n";
  55.     cout << "BMP_READ_TEST:\n";
  56.     cout << "  The test was successful.\n";
  57.   }
  58.   return error;
  59. }


 
je subodore que tu ne lance pas le programme dans le repertoire ou se trouve ton fichier "test.bmp"
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 27-02-2004 à 18:05:13    

Vu ce qui est au dessus, j'ai comme l'impression que le code de Joce pour le tag cpp se plante apres avoir rencontré un //* :D
Testons

Code :
  1. //* Test
  2. Ceci n'est pas un commentaire
  3. *//
  4. Ceci non plus
  5. */ /
  6. Pas plus que ceci


 :whistle:  :whistle:  :whistle:  
A+,


Message édité par gilou le 27-02-2004 à 18:08:28

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 27-02-2004 à 23:01:53    

Si, en realité, la lecture fonctionne au debut puis quitte la fonction de lecture par une erreur :  
BMP_READ_DATA: Fatal Error!
Failed reading R for pixel (68,23).
 
BMP_READ: Fatal Error!
BMP_READ_DATA Failed.
 
En examinant (c vite dit) bmp_io.c, je suis tombé sur un file_in.eof() qui renvoie true.


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 27-02-2004 à 23:13:02    

c'est on BMP qui est mité laisse béton

Reply

Marsh Posté le 27-02-2004 à 23:13:02   

Reply

Marsh Posté le 27-02-2004 à 23:32:38    

hmmm


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 28-02-2004 à 01:51:08    

Bon, je pense pas que ca vienne du fichier image en lui meme, c paint qui fait tout.
 
cela dit, en me promenant un peu sur le forum, j'ai observé une maniere de charger le header des fichiers qui m'a l'air parfaite pour un faineant de ma sorte...
 
Le type utilisait en effet directement une struct avec des champs correspondant aux données des headers de bitmap, il lui suffisait ensuite de faire un read et pouf c'etait rempli :) magie magie ?
 
bien sur que non, cependant, cette methode est-elle valable ? et du point de vue de la portabilité (longueurs des ints par exemple...)?
 
enfin, si ce monsieur utilisait des structs, est-ce faisable avec des classes et si oui y a t il un avantage ?
 
merci


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 28-02-2004 à 10:16:15    

> Bon, je pense pas que ca vienne du fichier image en lui meme, c paint qui fait tout.  
 
Y'a eu plusieurs version du format bmp. Ton image ne serait elle pas tout simplement d'un format pas supporté par la librairie que tu utilises??
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-02-2004 à 12:51:22    

du style compressé RLE par exemple ?


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 28-02-2004 à 12:52:44    

ca se pourrait, je sais pas ce que fait paint, je verifie :)
 
sinon pour les structs ? ca pue ?


Message édité par FMulder le 28-02-2004 à 13:06:34

---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 29-02-2004 à 19:51:49    

up pour les structs (dernier)


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 29-02-2004 à 19:57:15    

mais quoi up ? c'est quoi le problème ? si ça marche direct tant mieux. moi quand j'avais codé comme ça, ça marchait pas tout à fait, mais bon le POD quand ça marche, ça marche .|

Reply

Marsh Posté le 29-02-2004 à 20:42:35    

attends faut pas t'exciter non plus !
 
je te demande de l'aide et tu me gueules dessus... simplement je te demandais si la technique marchait et si ca se faisait avec des classes etc... JE NE CONNAIS PAS cette methode alors si iil y avait eu qqun pour me l'xpliquer gentiement ca aurait ete plus sympa...
 
tchao a jamais


---------------
Plus tu pedales moins vite Moins tu avances plus vite
Reply

Marsh Posté le 29-02-2004 à 20:57:23    

ben fait des e/s binaires : c'est le principe du POD
 
une struct, un fichier, un read, un write et voilà

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed