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++Builder Discussion :

Capture �cran comme le fait 'Print Screen'


Sujet :

C++Builder

  1. #1
    Membre �m�rite
    Inscrit en
    Juin 2005
    Messages
    644
    D�tails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par d�faut Capture �cran comme le fait 'Print Screen'
    Je cherche � pouvoir sauver la totalit� de l'affichage de l'�cran et en faire une image Bmp.
    Ceci est un peut l'�quivalent de la touche 'Print-Screen' qui met dans le presse papier l'image qui peut alors �tre reprise dans word , photoshop, ...

    Quelqu'un aurait-il une id�e de marche � suivre sous borland C++ 6.0 avec un OS window XP sp 2 & 3?

    merci!

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par d�faut
    salut, r�ponse dans la faq


    Il faut r�cup�rer le DC (Device Context) de l'�cran gr�ce � la fonction GetWindowsDC. Cette fonction prend pour argument le Handle de la fen�tre dont on veut le DC. Ici, nous souhaitons celui de tout l'�cran. Le Handle de l'�cran (Bureau) est 0.
    D'o� le code suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    HDC ScreenSrc = GetWindowDC(0);
    La m�thode BitBlt va copier le contenu de ce DC vers le Canvas de notre composant TBitmap (DC de notre image) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BitBlt(bitmap->Canvas->Handle, // Destination
          0, // Coin haut-gauche : abscisse
          0, // Coin haut-gauche : ordonnée
          Screen->Width, // Largeur de la zone destination
          Screen->Height, // Hauteur de la zone destination
          ScreenSrc, // Source
          0, // Haut-gauche de la source : abscisse
          0, // Haut-gauche de la source : ordonnée
          SRCCOPY);       // Méthode de copie
    Enfin, pour lib�rer le DC de l'�cran (bureau), utilisez la m�thode ReleaseDC :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ReleaseDC(GetDesktopWindow(), ScreenSrc);
    Si vous souhaitez directement enregistrer votre capture d'�cran, voici un exemple de code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
    Bitmap->Height = Screen->Height;
    Bitmap->Width = Screen->Width;
    HDC ScreenSrc = GetWindowDC(0);
    BitBlt(Bitmap->Canvas->Handle, 0, 0, Screen->Width,
           Screen->Height, ScreenSrc, 0, 0, SRCCOPY);
    Bitmap->SaveToFile(ExtractFilePath(Application->ExeName)+"Bitmap.bmp");
    ReleaseDC(GetDesktopWindow(), ScreenSrc);
    delete Bitmap;
    On cr�e ici directement un Bitmap et on lui affecte la copie d'�cran, puis on utilise la m�thode SaveToFile du Bitmap pour sauvegarder l'image dans le r�pertoire courant.

  3. #3
    Membre �m�rite
    Inscrit en
    Juin 2005
    Messages
    644
    D�tails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par d�faut
    !!! M E R C I !!!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 20/03/2006, 18h05
  2. Touche � Print Screen �
    Par Furius dans le forum Windows
    R�ponses: 4
    Dernier message: 20/09/2005, 17h54
  3. Capture �cran dans le menu contextuel
    Par Furius dans le forum Autres Logiciels
    R�ponses: 11
    Dernier message: 02/09/2005, 19h35
  4. [Print]print screen
    Par sonialem2000 dans le forum API standards et tierces
    R�ponses: 5
    Dernier message: 07/11/2004, 22h03
  5. [C#] Capture �cran dans pictureBox
    Par Gauden dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 05/05/2004, 10h18

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