Page 1 of 1

[RESOLU] Capture image d'une partie de l'écran

Posted: 26 May 2014, 08:52
by etienne
Bonjour,
j'essaie d'effectuer des grabs d'écran dans un logiciel écrit avec qt.
J'ai besoin de réaliser trois types de grab sur:
- l'application entière,
- des fenêtres ouvertes à partir de l'application,
- et des widgets.
A l'heure actuelle, j'arrive à prendre les screenshots pour l'application entière et les fenêtres ouvertes par l'applications (grâce à l'aide en ligne et au forum :D ).
Par contre, je n'arrive pas à grabber ces dits "widgets".
Ces widgets ne sont pas vu comme des fenêtre par Actionaz mais faisant partie intégrante de la "Main Window". J'ai essayer de coupler actionaz avec différents soft spécialisés dans les screenshot (PrtScr, Greenshot et Gadwin) mais l'image crée est toujours soit totalement blanche soit totalement noire.
Je voudrais savoir si l'on peut réaliser un screenshot sur une partie bien précise de l'écran. Par exemple: l'image doit pouvoir être prise dans un rectangle avec des valeurs déterminées et à partir de cordonnées elles aussi déterrminées par l'utilisateur.
J'espère avoir été clair et merci bcp pour la ou les réponses à venir.
Cordialement,

Etienne

Re: Capture image d'une partie de l'écran

Posted: 27 May 2014, 06:20
by francois
Bonjour,

En pièce jointe, un exemple via du code pour faire ce que tu veux .


Francois.

Re: Capture image d'une partie de l'écran

Posted: 27 May 2014, 06:27
by francois
Annule et remplace la pièce jointe précédente.

Re: Capture image d'une partie de l'écran

Posted: 27 May 2014, 09:09
by etienne
Bonjour, merci bcp d'avoir pris le temps de me répondre.
Je vais tester cela tout de suite.
A ++

Re: [RESOLU] Capture image d'une partie de l'écran

Posted: 28 May 2014, 13:24
by Jmgr
Salut,

Le problème des applications utilisant Qt c'est qu'elles n'utilisent pas les widgets/contrôles "officiels" de Windows mais redessinent tout, notamment parce que ça permet d'utiliser la carte graphique.

Normalement sous Windows chaque widget est une sous-fenêtre que tu pourrais détecter facilement, mais là du coup ce n'est pas le cas. La seule solution c'est de détecter le widget sur une capture d'écran, ce que fait le code de francois.