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

MFC Discussion :

enregistrer une image


Sujet :

MFC

  1. #21
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    esaye tuot simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void CInterface3Dlg::OnButton3()
      {
       WriteWindowToDIB("test.bmp", this);
       MessageBox("fini");
      }

  2. #22
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par matazz
    esaye tuot simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void CInterface3Dlg::OnButton3()
      {
       WriteWindowToDIB("test.bmp", this);
       MessageBox("fini");
      }
    oui ... j'avais pas pensé à enlever ce qu'il y avait en tro....

    donc j'ai reessayé comme tu dis, et c'est pareil, si je double-clic sur l'icone du fichier créé, il met "le dessin a échoué", par contre je viens de remarquer que si je l'ouvre avec paint, il y a bien un rectangle de la taille de la CDialog mais il est tout blanc, alors que j'avais dessiné dans la fenêtre...

  3. #23
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    c'est parceque tu est en debug, build la release et execute la...

  4. #24
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    eh non.. c'est toujours pareil... meme avec la release

  5. #25
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    ben écoute je t'avoue que je sais pas trop....
    t'est sous quelle OS ?

  6. #26
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    je suis sous windows xp

  7. #27
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    ben moi aussi....
    how bizarre !!!

  8. #28
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    Bonjour,

    je n'ai toujours pas résolu mon problème, mais en comparant l'image que je crée avec une image créée avec Paint, à l'aide d'un éditeur héxadécimal, je me suis rendue compte que le 13ème octet de mon image valait 4 alors que dans l'autre image il vaut 0. En mettant 0 également dans mon image, j'arrive à l'afficher.
    Il doit donc y avoir un problème au moment où on écrit l'entete...
    Est ce que vous auriez une idée?

    merci

  9. #29
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    quelle est ta configuration d'écran (surtout profondeur couleur 16 bits, 32bits...) ?

  10. #30
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    alors, pour la qualité couleur, j'ai 24bits, ca peut venir de ca?

  11. #31
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    j'ai recommencé, l'essai avec 16bits pour les couleurs de l'écran, et j'ai toujours un 04 qui traine, mais c'est sur le 12eme octet ce coup ci. comme tout a l'heure en le changeant par 0 ca donne une image qui s'affiche.

  12. #32
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    Effectivement j'ai trouvé ça :

    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
    21
    22
    	//This is the tricky part of the code. It will open the BMP file
    	//again, but in Binary Mode. Then, it will read the first 14
    	//bytes from the bitmap file.
    	//It will change the 11th byte from 11 to 36.
    	//It will change the 14th byte from 4 to 0 because this is the
    	//basic requirement for the bitmap format.
    	//So, it will support all PaintBrush Tools and thumbnail views
    	//of Windows Explorer.
     
    	CFile  m_tempFile;    //CBinFile is derived from CFile
    	BYTE dummy=0;//14        //14
    	BYTE pBuf[14];           //11
     
    	BOOL fres=m_tempFile.Open(fname,CFile::modeReadWrite |
    									  CFile::typeBinary);
     
    	UINT tt=m_tempFile.Read(pBuf,14);
    	pBuf[13]=dummy;//will replace from 04 to 00
    	m_tempFile.SeekToBegin();
    	m_tempFile.Write(pBuf,14);
     
    	m_tempFile.Close();
    Car il semble que certains outils windows arrivent pas à le lire.
    Tu as essayé avec Photoshop ?

  13. #33
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    je n'ai pas photoshop

    je vais essayé de recommencer avec ce que tu m'as donné

  14. #34
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    ah merci beaucoup!!!! ca marche enfin!!!

    mais je n'ai pas très bien compris le problème en fait... et selon la configuration de l'écran il faudra changer le numero de l'octet à modifier?

    merci encore!!!!!!

  15. #35
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    Apparement le problème vient de la méthode d'écriture de la Bitmap qui n'est pas compatible avec MSPaint, l'explorer windows...

    Pour ce qui est de la résolution, disons que la méthode crée une bitmap par copie du DC de la fenetre.
    Donc si tu est en 16 Bits l'encodage du DC et donc de la bitmap enregistrée sera en 16 bits, et donc l'en-tête bitmap sera plus petit ce qui fait que l'octet problématique ne sera pas au même endroit...

    C'est vrai que c'est un peu bancale comme méthode...
    Tout dépend l'utiliastion que tu en as, si c'est pour un outil que tu vas distribué, il vaut mieux prévoir toutes les configurations possible (16,24,32 bits au minimum)...

  16. #36
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    merci beaucoup!!!

    la méthode devrait suffir pour l'instant

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Image] Enregistrer une image jpg
    Par younes_ dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 14/04/2011, 19h17
  2. ENREGISTRER UNE IMAGE OU UN FICHIER .DOC
    Par manudja dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/08/2005, 13h32
  3. [GLScene] Comment enregistrer une image au format TGA
    Par Invité dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 27/05/2005, 15h12
  4. Enregistrer une image
    Par N@sH dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/05/2005, 10h07
  5. enregistrer une image et un identifiant
    Par dosach dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/03/2004, 17h18

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