begin process at 2010 07 29 15:21:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

PPC :: Graphisme

 > CAPTURE ECRAN (SCREENSHOT)

CAPTURE ECRAN (SCREENSHOT)




 Description

Code simple, il permet de capturer l'image de l'écran du device

Le code utilise la fonction BitBlt (API tres connue) pour faire une capture de l'écran.

Source

  • // declaration de l'api P/Invoke
  • // Ce code doit etre mis dans une class héritant de la classe Form
  • [DllImport("coredll.dll")]
  • public static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, uint dwRop);
  • const int SRCCOPY = 0x00CC0020;
  • private void Snapshot(string fileName)
  • {
  • Graphics gx = this.CreateGraphics();
  • Rectangle rect = Screen.PrimaryScreen.Bounds;
  • Bitmap bmp = new Bitmap(rect.Width, rect.Height);
  • // Creation d'un objet graphics compatible
  • Graphics gxComp = Graphics.FromImage(bmp);
  • // Prendre la photo
  • BitBlt(gxComp.GetHdc(), 0, 0, rect.Width, rect.Height, gx.GetHdc(), rect.Left, rect.Top, SRCCOPY);
  • // Enregistrement dans un fichier
  • bmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);
  • // Cleanup
  • bmp.Dispose();
  • gxComp.Dispose();
  • }
// declaration de l'api P/Invoke 
// Ce code doit etre mis dans une class héritant de la classe Form
[DllImport("coredll.dll")]
public static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, uint dwRop);

const int SRCCOPY = 0x00CC0020;

private void Snapshot(string fileName)
{
      Graphics gx = this.CreateGraphics();
      Rectangle rect = Screen.PrimaryScreen.Bounds;
      Bitmap bmp = new Bitmap(rect.Width, rect.Height);
      // Creation d'un objet graphics compatible 
      Graphics gxComp = Graphics.FromImage(bmp);
      // Prendre la photo
      BitBlt(gxComp.GetHdc(), 0, 0, rect.Width, rect.Height, gx.GetHdc(), rect.Left, rect.Top, SRCCOPY);
      // Enregistrement dans un fichier
      bmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);
      // Cleanup
      bmp.Dispose();
      gxComp.Dispose();
}



 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] CLASSE SENDKEYS
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] CONNAÎTRE ET MODIFIER LE NIVEAU DE ...
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] UTILISER LA FENETRE CHOOSECONTACTDI...
Source .NET (Dotnet) [.NET COMPACT FRAMEWORK]PLANIFIER L'EXECUTION DE L'APPLICATI...
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] EFFECTUER DES APPELS TELEPHONIQUES.

 Sources de la même categorie

Source .NET (Dotnet) ROTATION D'IMAGE POUR LE COMPACT FRAMEWORK par P0lO
Source .NET (Dotnet) ROTATION ET MIROIR DE BITMAP par Stephane33
Source avec Zip Source .NET (Dotnet) VISUALISER UNE IMAGE PLEIN ÉCRAN AVEC DÉPLACEMENT par Stephane33
Source avec Zip Source avec une capture Source .NET (Dotnet) TRACER UN RECTANGLE OU UN CERCLE SUR POCKETPC 2002 AVEC .NET par Nix

Commentaires et avis

Commentaire de pemorel le 01/04/2010 21:45:20

Je n'arrive pas à importer core.dll avec [DllImport("coredll.dll")]

il faut utiliser le code suivant :

Public Declare Function BitBlt Lib "coredll.dll" (ByVal hdc As IntPtr, ByVal nXDest As Integer, ByVal nYDest As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, ByVal dwRop As Integer) As Boolean

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Imprimer l'ecran de PDA sur Pocket PC [ par Hugueslouz ] Bonjour, Je voulais faire de la documentation sur un PDA avec pocket PC et si je ne sais pas comment avoir , capter, imprimer l'ecran d'un pocket PC [req] emulateur resolution ecran pour ipaq 6510 [ par guttts ] bonjour je dois faire tourner le prog "geidel" qui fonctionne en 320*240. Le probleme c'est que mon ecran a une resolution maxi de 240*240. Y aurai il Notify Icon(Today Screen) [ par CodeIX ] Salut a tous, je cherche actuellement a savoir comment ajouter un icon dans le today screen, un genre de "Notify Icon". - J'utilise Windows Mobile 6. Capture_Touches_Systeme [ par Lamenoir210 ] Bonjour, Je cherche à capturer les touches systèmes d'un smartphone (décrocher, windows, retour, raccrocher, augmentation volume, diminution volume, ecran illisible [ par calvine ] pilote video ecran [ par calvine ] htc s300 ecran illisible ecran [ par calvine ] pilote video htc s300


Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
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 : 0,546 sec (4)

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