Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 4


|
Conversation (Résolue) : wxScreenCapture |
Speedy37 (Nouveau membre)
Inscrit le : 12-03-2009
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
Je souhaite réaliser un logiciel de capture d'écran.
J'arrive à capturer l'écran, mais je n'ai pas le curseur sur la capture
Voici le script que j'utilise
Code wxWidgets:wxSize screenSize = wxGetDisplaySize(); wxBitmap bitmap(screenSize.x, screenSize.y); wxScreenDC dc; wxMemoryDC memDC; memDC.SelectObject(bitmap); memDC.Blit(0, 0, screenSize.x, screenSize.y, &dc, 0, 0); bitmap.SaveFile("test.bmp", wxBITMAP_TYPE_BMP);
Sinon, pourquoi je code un tel programme, et bien c'est parce que j'ai un écran d'un résolution de 1920*1200 et je souhaite pouvoir enregistrer dans les 30 images par secondes.
Pour l'instant, cela fonctionne bien, j'atteins environ 28fps avec 2 threads
Dernière modification par Speedy37 (06-07-2009 18:33:22)
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Salut.
C'est tout à fait normal que tu ne captures pas le curseur. Il ne fait pas partie d'une fenêtre.
Tu peux par contre en récupérer la position au moment où tu fais ta capture, et le re-dessinner à la bonne position avant de sauver le fichier (mais ça risque de faire diminuer ton fps).
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Speedy37 (Nouveau membre)
Inscrit le : 12-03-2009
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne |
Si c'est l'unique solution, je mettrais une option pour cet ajout qui ce fera par le thread d'encodage
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Tu peux enregistrer, conjointement aux images, les positions et états des boutons de la souris correspondants à chaque image, et ainsi, dessinner un curseur personnalisé, avec un petit effet permettant de voir chaque clic.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Speedy37 (Nouveau membre)
Inscrit le : 12-03-2009
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne |
En gros : plusieurs threads capturent les images, les ajoutent à une classe d'encodage, qui va ensuite ajouter les images dans le fichier. Le seul problème est que si le thread qui encode ne suit pas, la mémoire utilisé par le programme va augmenter. Mais l'avantage, c'est que le nombre de Fps obtenu est 1,8 fois celui obtenu avec CamStudio.
En fonction des résultats, l'ajout des curseurs sera soit fait pas le processus d'encodage, soit par un processus indépendant, soit par les processus de capture.
En tout cas, je suis bien content de pouvoir capturer 27fps sur mon 26" en 1920x1200 contrairement aux 15fps de CamStudio
|
|
|