IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Pb image TGA 16 bit


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut Pb image TGA 16 bit
    Bonjour a tous !

    premier message sur developpez.com car je trouvais toujours ma reponse dans une FAQ ou sur un forum.

    Mais voila la je coince...


    alors mon but est de pouvoir ouvrir puis modifier des images au format TGA.

    pour les formats 24 et 32 bits pas de problème.

    pour le 16 bit par contre rien ne va plus le fichier semble plus petit que la taille annoncée et je me retrouve à traiter qu'une partie de celui-ci.

    pour lire l'image je la parcoure tel un fichier en sachant que les 18 premiers octets correspondent au header.

    le reste devrais correspondre a chaque pixel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
       FILE *fp;
     
       if ((fp = fopen("test16.tga","r")) == NULL) 
        {
           fprintf(stderr,"File open failed !!!\n");
           exit(-1);
        }
     
       int status=1;
       int nb=0;
       unsigned char t[1];
       while( status> 0)
       {
    	   status= fread(t,1,1,fp);
    	   nb++;
       }
     
       cout << "\nnb bytes == " << nb;
    avec ce code par exemple qui ne fais rien de plus que parcourir le fichier octet par octet et compter la taille de celui-ci je n'arrive pas au nombre indiqué d'octets pris par l'image.

    Voila mon probleme j'ai testé sur plusieurs images mais apparement c'est la même pour toute .

    Merci d'avance d'avoir pris le temps d'avoir lu le message

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    faut ouvrir en binaire
    fopen("test16.tga","rb");

    Sinon, tu pourrai aussi utiliser ifstream. c'est plus "c++"

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut
    c'était ça merci


    Sinon, tu pourrai aussi utiliser ifstream. c'est plus "c++"
    j'avoue j'ai utilisé des fonctions du c car j'ai plus l'habitude pour manipuler des bits et des octets.

    Enfin bon merci pour tout !!

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par DikVin Voir le message
    c'était ça merci



    j'avoue j'ai utilisé des fonctions du c car j'ai plus l'habitude pour manipuler des bits et des octets.

    Enfin bon merci pour tout !!
    pareil.
    Mais y as read et write dans les stream.
    Puis ca peut eviter des oblie de fclose.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. XLib et probleme d'affichage d'image en 24 bits
    Par xilebo dans le forum Linux
    Réponses: 1
    Dernier message: 11/09/2006, 10h25
  2. Convertir une image BMP 8 bits en BMP 24 bits
    Par SauCisS dans le forum Bibliothèques
    Réponses: 17
    Dernier message: 23/03/2005, 09h51
  3. Images TGA et GDI+
    Par Rainmaker dans le forum MFC
    Réponses: 2
    Dernier message: 18/01/2005, 11h48
  4. [Image] Affichage image en 12 bits
    Par Plawi dans le forum 2D
    Réponses: 9
    Dernier message: 18/11/2004, 09h34
  5. Conversion d'images 24/32 Bits -> 16bits
    Par RVP dans le forum Langage
    Réponses: 4
    Dernier message: 30/05/2004, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo