begin process at 2012 02 05 18:12:08
  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) EDITEUR DE REGISTRE POUR WINDOWS MOBILE 5.X ET 6.X
Source avec Zip Source avec une capture Source .NET (Dotnet) [WINDOWS PHONE 7] EDITEUR DE NOTES SIMPLE
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...

 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...

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

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