Capture ecran pouvant cibler une zone

Soyez le premier à donner votre avis sur cette source.

Vue 7 025 fois - Téléchargée 794 fois

Description

Voila un soft qui pourrai etre sympa pour la capture de zone d'ecran.

Il a l'avantage de pouvoir cibler la zone a photographier.
La zone de capture est esclave du pointeur de la souris.

Pour redimensionner la zone de capture il faut utiliser les touches "page precedant"et "page suivante"
Pour deplacer la zone de capture par rapport pointeur de la souris il faut utiliser les fleches.

Pour prendre une capture de la zone il faut presser la touche "control"
La capture d'ecran se nomme "c:/test.bmp"

Cela marche plutot bien!

Le plus gros defaut c'est que lors de son execution l'affichage devint saccadé.
C'est lié au fait qu' apres chaque dessin du viseur il faut redessiner les fenetres,avec invalidateRect().Pour ne pas que les viseurs s'accumulent a l'ecran.Si quelqu'un a une idée pour regler ça je suis prenneur.

Source / Exemple :


class Snapshot  
{
	public:
		bool TakeZoneSnapshot(int x,int y ,int largeur,int hauteur);
		Snapshot(void);
		~Snapshot(void);

	

		bool TakeDesktopSnapshot(void);		// Prend un ScreenShot du bureau, return false si �chec
		bool SaveToFile(const char* Path);	// Save le fichier dans un r�pertoire, return false si �chec
		bool SaveToHDC(HDC &hDc);	// Remplie le hDc avec le handle du bitmap, return false si �chec

		int GetWidth();
		int GetHeight();

	private:

		BITMAPFILEHEADER m_BitmapFileHeader;	// Donn�es de la structure BITMAPFILEHEADER du Bitmap
		PBITMAPINFOHEADER m_pBitmapInfoHeader;	// Pointeur sur la structure BITMAPINFOHEADER du Bitmap
		PBITMAPINFO m_pBitmapInfo;	// Pointeur sur la structure BITMAPINFO du Bitmap
		LPBYTE m_pBitmapData;	// Pointeur sur les Data du Bitmap

		HDC m_hDcBitmap;	// Handle sur le hDc du Bitmap en memoire
		HBITMAP m_hBitmap;	// Handle sur le Bitmap

};

Conclusion :


Je remercie tous ceux qui on deposé du code sur cpp.france .Ce qui m'a bien aidé.Surtout la classe Snapshot

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

xbabilone
Messages postés
47
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
7 janvier 2018
2 -
J'y est bien pensé mais .Je ne sais pas quel handle utiliser.
Shromilder
Messages postés
32
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 février 2010
-
"Le plus gros defaut c'est que lors de son execution l'affichage devint saccadé.
C'est lié au fait qu' apres chaque dessin du viseur il faut redessiner les fenetres,avec invalidateRect().Pour ne pas que les viseurs s'accumulent a l'ecran."
Pour résoudre ce problème, il ne faut pas raffraichir toute l'image mais juste une petite partie du style 15pixels autour de la souris. Faut donc que tu spécifies un RECT.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.