hello tout le monde,
est ce que c'est possible de faire un "print screen" toute les minutes et sauver les images dans un dossier
hello tout le monde,
est ce que c'est possible de faire un "print screen" toute les minutes et sauver les images dans un dossier
salut !
j'ai commencé le C et C++ il y a une semaine mais je fais comme sa grace a cette fonction:
ensuite dans mon GUI je l'appel et je donne simplement le nom que je souhaite a mon fichier.bmp par exemple. pour ce qui est du timing, je ne connais pas encore assez le C++ pour te le dire mais je pense qu'on peut recuperer un timestamp aussi en C++ ou bien meme une fonction plus puissance qui pourrait jouer le role de TimeOut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 int takeScreenshot(const char * filename) { GLint viewport[4]; Uint32 rmask, gmask, bmask, amask; SDL_Surface * picture, * finalpicture; glGetIntegerv(GL_VIEWPORT, viewport); #if SDL_BYTEORDER == SDL_BIG_ENDIAN rmask = 0xff000000; gmask = 0x00ff0000; bmask = 0x0000ff00; amask = 0x000000ff; #else rmask = 0x000000ff; gmask = 0x0000ff00; bmask = 0x00ff0000; amask = 0xff000000; #endif picture = SDL_CreateRGBSurface(SDL_SWSURFACE,viewport[2],viewport[3], 32, rmask, gmask, bmask, amask); SDL_LockSurface(picture); glReadPixels(viewport[0],viewport[1],viewport[2],viewport[3],GL_RGBA, GL_UNSIGNED_BYTE,picture->pixels); SDL_UnlockSurface(picture); finalpicture = flipSurface(picture); if (SDL_SaveBMP(finalpicture, filename)) { return -1; } SDL_FreeSurface(finalpicture); SDL_FreeSurface(picture); return 0; }
bonnee chance
merci bien a toi pour ta réponse
à l'ocase j'essayerai de le mettre dans une boucle avec un sleep...
Salut,
J'aimerais tester ce code mais il me manque les include, pourrais-tu donner le détail des include?
Partager