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 :

probleme pour concatener unsigned char * et BITMAPFILEHEADER


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 50
    Par d�faut probleme pour concatener unsigned char * et BITMAPFILEHEADER
    Bonjour,
    je souhaiterais envoyer un bitmap dans free image memory.

    Le bitmap est produit par directshow
    BYTE*data;
    IWindowlessControl->getCurrentImage(&data);

    Et dans une autre variable je recupere wxFile correctement le BITMAPFILEHEADER
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    bitmapfile(_("t.bmp"),wxFile::write);
    bitmapfile.Write(&hdr,sizeof(BITMAPFILEHEADER));
    bitmapfile.Write(lpDib,lpbi->biSizeImage);
    bitmapfile.Close();
    Quand je balance tout ce monde (le header et le data) dans un fichier pas de probleme j'ai mon bitmap dans un fichier.

    Mon soucis est que je souhaiterais ne pas envoyer le resultat dans un fichier mais directement dans Freeimage.

    il me faut donc un BYTE*(ou un unsigned char *).
    BYTE* mavariable;

    Soucis, je n'arrive pas a faire mavariable=concatenation(BITMAPFILEHEADER et data).

    Merci de votre aide.

  2. #2
    Membre �clair� Avatar de cynique
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    60
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 60
    Par d�faut
    Si tu as juste un pointeur sur le memoire de Freeimage, tu peux utiliser memcpy() ou std::copy(), par exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      unsigned char *image = blabla();
     
      BITMAPFILEHEADER hdr;
      BYTE *lpDib;
     
      // ...
     
      memcpy( image, &hdr, sizeof(hdr) );
      memcpy( image+sizeof(hdr), lpDib, lpbi->biSizeImage );
    C'est fini!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 50
    Par d�faut
    merci pour ta r�ponse!

    en fait le probleme venait de mon bitmap, j'oubliais de mettre le bitmapinfoheader et donc, image noire!

Discussions similaires

  1. [WD17] �quivalent du type 'unsigned char' en C pour Windev
    Par nokwih dans le forum WinDev
    R�ponses: 2
    Dernier message: 09/02/2012, 08h21
  2. [XL-2003] probleme de formule pour concatener
    Par teen6517 dans le forum Excel
    R�ponses: 4
    Dernier message: 17/01/2011, 16h48
  3. [debutant]Probleme pour lire un char
    Par ~Brouette~ dans le forum C
    R�ponses: 3
    Dernier message: 14/05/2007, 19h08
  4. Probleme pour concatener 2 objets Set
    Par PORTES dans le forum C++
    R�ponses: 13
    Dernier message: 16/04/2007, 15h02
  5. R�ponses: 6
    Dernier message: 06/10/2005, 11h30

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