begin process at 2012 02 10 13:50:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Multimédia

 > 

récupération d'une image dans un clipboard


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récupération d'une image dans un clipboard

mercredi 22 novembre 2006 à 17:05:34 | récupération d'une image dans un clipboard

CaMeGave

bonjour,

j'ai besoin d'aide...

j'ai une web cam et je veux récupérer l'image sans l'enregistrer sur le disque dur.

à première vue je dois utiliser les Clipboard mais je n'arrive pas à le faire marcher.

voila mon code :

    // récupération d'une image que je place dans le clipboard
    capCaptureSingleFrameOpen(m_hWndCap);
    capCaptureSingleFrame(m_hWndCap);
    capEditCopy(m_hWndCap);
    capCaptureSingleFrameClose(m_hWndCap);

    // ouverture du presse-papier
    if(!OpenClipboard())
    return ;

    // vérification du format
    if(!IsClipboardFormatAvailable(CF_BITMAP))
    {
    CloseClipboard();
    return ;
    }

    // récupération bitmap contenu dans le presse-papier
    HBITMAP hClipboardBmp = (HBITMAP) GetClipboardData(CF_BITMAP);
    if(hClipboardBmp == NULL)
    {
    CloseClipboard();
    return ;
    }

    // récupération infos sur le bitmap (dont la taille)
    BITMAP info;
    SIZE size;
    GetObject(hClipboardBmp, sizeof(BITMAP), &info);
    size.cx = info.bmWidth;
    size.cy = info.bmHeight;

une fois arriver la je n'arrive pas à savoir si j'ai récupérer l'image, ni à la transformé en CBitmap.

je commence à déprimer si vous avez une solution je suis preneur.

Merci d'avance.
mercredi 22 novembre 2006 à 18:28:13 | Re : récupération d'une image dans un clipboard

SAKingdom

Membre Club
T'as été voir cet exemple sur MSDN?

La récupération de bitmap y est expliqué

C++ (@++)

mercredi 22 novembre 2006 à 18:30:55 | Re : récupération d'une image dans un clipboard

SAKingdom

Membre Club
Oh attention. Tu as posé ta question 3 fois sur ce site (une probablement déplacé ici par un admin)

C++ (@++)

jeudi 23 novembre 2006 à 11:26:44 | Re : récupération d'une image dans un clipboard

Ombitious_Developper

Salut:

Je veux te remercier SAKingdom. C'est intéressant ton lien.
vendredi 24 novembre 2006 à 14:50:49 | Re : récupération d'une image dans un clipboard

CaMeGave

re bonjour

c'est encore moi,

j'ai regarder le lien. j'ai compris beaucoup plus de chose merci.
en revanche j'ai toujours un problème. je n'arrive pas à récupérer les pixels de ma BITMAP.

    //m_hBmp is a Handle to Bitmap.
    HBITMAP m_hBmp = (HBITMAP)::GetClipboardData(CF_BITMAP);
 
   BITMAP bmp;
   BITMAPINFO IHdr;
    RECT rc;
// je récupère le HDC de ma fenetre video
    HDC hdc = (HDC) m_video.GetDC();
    HDC hdcMem = CreateCompatibleDC(hdc);

    SelectObject(hdcMem, m_hBmp);
// Fenetre video
    m_video.GetClientRect(&rc);
   
    BitBlt(hdc, 0, 0, rc.right, rc.bottom, hdcMem, 0, 0, SRCCOPY);
    int res = GetDIBits(hdcMem, m_hBmp, 0,300, bmp.bmBits, (BITMAPINFO*)&IHdr, DIB_RGB_COLORS);

arrivé la la variable bmp n'est pas initialisé correctement et m_hBmp n'est pas visible.

si je rajoute :     GetObject(m_hBmp, sizeof(bmp), &bmp);

alors la variable bmp est initialisé correctement mais je n'ai pas les pixels même si je fais GetDIBits ensuite.

je ne comprends strictement rien.

j'ai besoin de ces pixels pour les passer sous une autre structure (IplImage d'OpenCV). j'ai des fonctions qui me permette de passer de BITMAP à IplImage normalement et l'inverse mais tant que je n'ai pas ces pixels ca me fais une erreur.

donc COMMENT RECUPERER CES PIXELS c'est le champ bmBits de BITMAP si je ne me trompe pas.

merci d'avance si vous avez une piste car moi je suis sur le point d'abandonner.


vendredi 24 novembre 2006 à 20:55:24 | Re : récupération d'une image dans un clipboard

SAKingdom

Membre Club
int res = GetDIBits(hdcMem, m_hBmp, 0,300, bmp.bmBits, (BITMAPINFO*)&IHdr, DIB_RGB_COLORS);

Attention ici. Ce n'est pas un pointeur vers les données du bitmap qu'il faut passer ici mais un pointeur vers le buffer qui contiendra les données. Va voir dans mes sources. J'en ai une qui explique l'utilisation de Get et SetDIBits.

C++ (@++)



Cette discussion est classée dans : image, récupération, bitmap, clipboard, hwndcap


Répondre à ce message

Sujets en rapport avec ce message

récupération image d'un Clipboard [ par CaMeGave ] bonjour,j'ai besoin d'aide...j'ai une web cam et je veux récupérer l'image sans l'enregistrer sur le disque dur.à première vue je dois utiliser les Cl buffer d'une image sous visual C++ avec vfw [ par CaMeGave ] Bonjour, je commence à tourner en rond (après 5 jours dessus). Je cherche à récupérer les valeurs de pixels d'une image pris par une webcam avec la l les CGIs PHP et images x-bitmap [ par chinui ] slt tous, j'ai un debutant en programmation avec les CGIs, j'ai u fichier en .c qui génére une image x-bitmap, mais quant j'essais de l'ouvrir avec un Récupérer une image du presse-papier (clipboard) [ par Siteauludo ] Bonjour,En fait je programme en général sous C# mais j'ai besoin d'un truc plus puissante pour une minuscule application.Y me faudrait faire un progra Problème d'affichage d'un image bitmap [ par MorbhAck ] Bonsoir a tous et bonne fêtes !J'ai un gros souci, je suis en train de faire un programmeet j'ai un problème vraiment vraiment bizarre.Bon le problème images bitmap [ par CeNedra83 ] je code en C++ sous visual 2003.NET et je dispose d'une image sous la forme de trois tableaux de composantes X, Y et Z. je voudrais créer une image BM redimenssion image avec hbitmap [ par glipper ] bonjour,j'ai reussi à charger une image depuis un fichier, et la faire apparaître dans un boutons (dans une dialogbox). J'ai donc procédé comme ceci : coder une image BitMap [ par mascara82 ] j'essaye maintenant d'implémenter un prgme de filtrage sur une image et j'ai besoin tout d'abord de coder mon image quelqu'un sait comment? Merci d'av mettre un bitmap sur un fond qui a deja un bitmap, pb [ par gege1024 ] voila: j'ai un dialogue avec une image en fond (bacground),par dessus je veux afficher un autre bitmap, mais le pb est que celui-ci s'affiche avec une Problème avec Allegro [ par tikof ] Bonjour à tous, Voila j'ai vu une source sur le site qui montrait comment afficher un rond et pouvoir le bouger sur un fond à l'écran avec allegro en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,739 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales