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 :

Afficher une image stock�e en memoire


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par d�faut Afficher une image stock�e en memoire
    Bonjour,

    J'ai un buffer qui contient un fichier bmp ou jpeg ou gif et j'aimerais savoir comment l'afficher sans avoir a le sauver sur disque dur au pr�alable.
    En general les methodes pour afficher une image prennent soit un identifiant resource, soit un HBITMAP ou enfin un nom de fichier mais dans mon cas l'image est en memoire...

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Par d�faut
    Bonjour,

    Lorsque je dois afficher une image en m�moire, je la converti au format DIB (le format bmp est le plus proche du DIB)

    Par la suite, j'utilise les fonction StretchDIBits

    Si tu as l'aide MSDN, tu peux trouver des fonctions "Bitmap Functions"

  3. #3
    Membre chevronn� Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par d�faut
    Si tu utilise un CBitmap (MFC) utilise la methode SetBitmapBits :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    DWORD SetBitmapBits(
       DWORD dwCount,
       const void* lpBits 
    );
    Apres les choses peuvent se compliquer du point de vue du format de ton image, en gnl 8,24 et 32bits.

  4. #4
    Membre chevronn�
    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
    Par d�faut Re: Afficher une image stock�e en memoire
    Citation Envoy� par romeo9423
    Bonjour,

    J'ai un buffer qui contient un fichier bmp ou jpeg ou gif et j'aimerais savoir comment l'afficher sans avoir a le sauver sur disque dur au pr�alable...
    Tu as un Buffer compress� ou d�compress� ?

  5. #5
    Membre chevronn�
    Avatar de bigquick
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    356
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 356
    Par d�faut
    Bonjour,

    Est-ce que ce lien la pourrait convenir ?
    http://www.codeproject.com/bitmap/render.asp

    Il lit un fichier depuis le disque, dans la fonction:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    BOOL LoadPictureFile(LPCTSTR szFile, LPPICTURE* pgpPicture)
    , mais il ne fait que le lire et le stocker dans un buffer: on se retrouve donc dans un �tat similaire au tien.

    J'ai deje test� ce code pour lire des images depuis le disque (bmp, jpeg, gif, ...) et il les lit sans probleme, peu importe le format, la compression, etc ...

    Donc reste � voir si ca peut s'adapter � ton cas ... par exemple le buffer ou est stock�e l'image est allou� avec GlobalAlloc, pour pouvoir en faire un IStream par la suite (avec CreateStreamOnHGlobal)... donc peut etre peux-tu allouer de la m�moire avec GlobalAlloc et y recopier ton buffer ....

  6. #6
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut Re: Afficher une image stock�e en memoire
    Citation Envoy� par romeo9423
    Bonjour,

    J'ai un buffer qui contient un fichier bmp ou jpeg ou gif et j'aimerais savoir comment l'afficher sans avoir a le sauver sur disque dur au pr�alable.
    En general les methodes pour afficher une image prennent soit un identifiant resource, soit un HBITMAP ou enfin un nom de fichier mais dans mon cas l'image est en memoire...
    Une ressource c'est aussi une image qui est en m�moire. Sauf que les API te permettent d'utiliser cette image tr�s simplement avec des fonctions toutes faites.

    Pour ton cas si tu connais l'adresse m�moire du premier octet de ton image alors pas de probl�me.

    Utilise les fonctions de l'API avec un pointeur void* et CreateDIBSection(...). Reformer l'en-t�te (BITMAPINFO) et le corps qui contient les pixels.
    Attention les fonctions classiques de l'API ne g�rent que le format "bmp". Pour le JPEG, c'est une autre librairie et pour le gif j'en sais rien.

Discussions similaires

  1. Afficher une Image stock�e dans un champs BLOB oracle
    Par nonaparus dans le forum Access
    R�ponses: 1
    Dernier message: 18/10/2006, 08h26
  2. [MySQL] Afficher une image stock� en base donn�es
    Par Blo0d4x3 dans le forum PHP & Base de donn�es
    R�ponses: 6
    Dernier message: 19/06/2006, 17h02
  3. [MySQL] Afficher une image stock�e dans une base de donn�es
    Par LuckySoft dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 22/04/2006, 12h57
  4. [Forms] Afficher une image stock�e en base
    Par oramine dans le forum Forms
    R�ponses: 12
    Dernier message: 01/02/2005, 14h14
  5. Afficher une image stock�e dans interbase
    Par NicolasR dans le forum Bases de donn�es
    R�ponses: 2
    Dernier message: 01/06/2004, 10h00

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