capture d'ecrant en sdl [SDL] - C - Programmation
Marsh Posté le 03-07-2006 à 14:28:48
big_dadi_fat a écrit : Slut je suis entrain de suivre un cours sur SDL et j'ai trouvé un exercice don voici l'enoncé:
|
Marsh Posté le 03-07-2006 à 14:30:41
ReplyMarsh Posté le 03-07-2006 à 14:35:36
Serial Coder a écrit : t'as jamais pensé à essayer le debugger de code::blocks ? |
le debuquoi ?
comment ça ? c'est quoi ?
Marsh Posté le 03-07-2006 à 14:42:38
big_dadi_fat a écrit : le debuquoi ? |
Ca sert à executer ton programme ligne par ligne en vérifiant la valeur de chacune de tes variables à l'instant de l'interruption, comme ca tu peux vérifier que tout va bien, ou si ca va pas, ca peux t'aider à trouver l'erreur , si par exemple une variables est nulle alors que t'en attend qqchose, etc.
Marsh Posté le 03-07-2006 à 15:48:13
enfait dans la parti ou il y a:
Code :
|
si je la remplace par:
Code :
|
ca marche;
mais je ne vois pass la differance entre les deux !
Marsh Posté le 03-07-2006 à 23:34:15
Bizarre. Sans debugger et qq traces, tu n'es pas prêt de deviner. Une possibilité serait un effet de bord entre SDL_WaitEvent et la fonction SDL_FillRect, mais je n'en mettrais pas ma main à couper.
Marsh Posté le 09-07-2006 à 11:11:36
RE
enfait je me demander aussi , comment en fait pour prendre une capture d'ecrant en sdl ,
/* un exemple sera le bien venu */
encor merci
Marsh Posté le 10-07-2006 à 14:38:32
J'ai fais le petit prog suivant , mais ca me marche pas , => sa marche quand je compile(ctrl F9) (0:error , 0:warning) , mais quand j'execute (F9) la fenaitre se ferme rapidemant toute seul !
voici le code :
Code :
|
Marsh Posté le 10-07-2006 à 14:40:39
debug et vois où exactement ça foire...
au passage, ton savebmp prend "fond" qui n'est pas initialisé...
Marsh Posté le 11-07-2006 à 23:06:58
_darkalt3_ a écrit : debug et vois où exactement ça foire... |
oups ok j'ai oublier d'initialiser fond , mnt j'ai changer le code ,et je fais avec SDL_SaveBMP(ecran, "screenshot.bmp" );
et ca me crée une image bmp : screenshot.bmp dans mon projet c'est bon .
je veut poser une autre question svp:
l'image screenshot.bmp contien le screenshot du contenu de la fenaitre , mais si en veut prendre le screenshot de toute l'ecrant de l'ordi ( comme la touche imp écr ) ya t'il un moyen de le faire ?
encore merci
Marsh Posté le 13-07-2006 à 14:00:06
bonjour big_dadi_fat
réaliser une capture de l'écran est très simple : tu as en premier lieu, besoin du device context de l'écran que tu veux capturer. pour ceci, tu peux utiliser la fonction GetClientRect() de la fenêtre concernée, ce qui te renverra la zone client de cette fenêtre dans un handle. ensuite, tu dois créer le contexte via CreateCompatibleDC() et la copier dans un bitmpap via la fonction CreateCompatibleBitmap(). une fois ceci fait, tu assignes le device context au bitmap, et tu termines par un petit BliBlt() vers le clipboard.
mais j'entends déjà ta question : comment obtenir un handle sur le clipboard correctement aligné ? hé hé, je te devance : via la fonction GetParent(), tu récupères le pointeur de la fenêtre fille, et il te suffit d'appeler ensuite OpenClipboard(). ensuite, un petit coup de SetClipboardData() avec ton bitmap, et voila, ta capture est faite
Marsh Posté le 13-07-2006 à 14:29:09
Serial Coder a écrit : bonjour big_dadi_fat |
Merci Serial Coder tu est le meilleur , je vais essayer avec ça ;
mais si tu me donne un exemple de code c , se sera encore meilleur (pour mieux eclersire tout ça) ?
encore merci Serial Coder
Marsh Posté le 13-07-2006 à 14:42:58
_darkalt3_ a écrit : sauf que c'est pas en SDL tout ça |
Donc c'est en quoi ?
Marsh Posté le 13-07-2006 à 23:43:02
Reply
Marsh Posté le 03-07-2006 à 14:09:00
...
Message édité par big_dadi_fat le 11-07-2006 à 22:47:07