Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Liste des logiciels
Nom Date
Libs Python Graph 35+E II et Graph 90+E
SDK G85 - EasyInput
SDK G85 - Memory and Files access
SDK G85 - Easy Coding
SDK G85 - Easy grayscales
SDK G85 - GrayScreenshotLib
SDK G85 - MonochromeLib
Lua - Tile Motor


Visiteurs :
Si vous souhaitez soumettre un logiciel veuillez prendre contact avec un administrateur seuls à pouvoir ajouter des logiciels par mesure de sécurité.
Logiciels >> Snippets >> SDK G85 - GrayScreenshotLib
SDK G85 - GrayScreenshotLib
Ajouté par :
TotoyoHors ligneMembre d'honneurPoints: 16102 Défis: 102 Message
Pour les calculatrices : Graph 35+ USB, 35+E, 75, 75+, 75+E
Ajouté le : 2011-05-13 22:22
Nombre de visites de la page : 5314

Fichiers à télécharger :

¤ GrayScreenshotLib_par_Pierrot.zip 1 Ko (824 téléchargements)

Description :

GrayScreenshotLib - par Pierrotll
Générer un gif animé en grayscale


Suite à quelques demandes, je crée ce topic pour parler d'un vieux projet. Mon but était de pouvoir générer un gif animé d'un jeu en niveaux de gris.

Pour les captures d'écran de jeux, j'aime bien les gif animés, on voit bien plus le gameplay et la fluidité que sur une simple image fixe. Et puis cela attire plus l'oeil. Pour les jeux en noir et blanc, pas de soucis, j'utilise un logiciel de capture vidéo, avec l'émulateur de la calculatrice. Il suffit ensuite de convertir la vidéo en gif animé (beaucoup de soft proposent cela).
Mais pour les jeux en niveaux de gris, c'est une autre histoire. Les niveaux de gris sont, comme vous le savez, créés par un clignotement rapide de l'écran. Et grâce à la rémanence de l'écran, on obtient des nuances de gris plutôt stables. Sur l'émulateur par contre, on voit clairement le clignotement, car l'écran de l'ordinateur a une rémanence bien plus faible.

J'ai donc créé grayscreenshotlib.
Le projet se compose de 2 parties :
Une mini-librairie à intégrer dans son Addin, qui fait des captures d'écran et les stocke dans un fichier de la carte SD (pour une capture de quelques seconde le fichier est assez gros et ne tient pas sur la mémoire de stockage). A ce propos, si vous avez une calculatrice sans carte SD, vous pouvez tout à fait faire la capture d'écran avec l'émulateur du SDK.
Et un programme pour ordi, qui se charge de convertir le fichier de capture vidéo en un gif animé (grâce aux programmes de giflib). Ce programme, je ne l'ai écrit que pour Linux, mais il doit pouvoir être adapté pour Windows.

La partie calculatrice
Voici les sources de cette petite librairie :
grayscreenshotlib.c, grayscreenshotlib.h
Petite documentation :
Au début de l'Addin, appelez gsl_init en lui donnant en paramètre le nombre de capture d'écran à prendre (sachant qu'elle prend à peu près 20 captures d'écran par seconde).
Ensuite, après chaque rafraîchissement de l'écran dans votre jeu, appelez gsl_screenshot en lui envoyant les adresses des 2 buffers servant d'écran.
Et enfin, à la fin du programme, appelez gsl_quit pour quitter proprement la librairie.
Ainsi on génère le fichier MOVIE.gsl contenant toutes les captures d'écran.

La partie ordinateur
Voici les sources de ce petit programme : main.c
Il utilise les commandes rgb2gif et gifasm. Pour avoir ses commandes sous Linux, il faut installer le paquet giflib-tools.
Pour l'utiliser il suffit de placer le fichier MOVIE.gsl dans le même dossier, et d'exécuter le programme. Après un temps de traitement parfois long (si le nombre de captures d'écran est important), il génère un fichier result.gif

Exemple de résultat :


PS: Je signale tout de même qu'il existe aussi une petite librairie qui permet de prendre une capture d'écran simple (image fixe) d'un jeu en niveaux de gris, faite par Tratak : Libscreenshot


Cliquez ici pour accéder au topic officiel

Commentaires :


DodormeurHors ligneAncien rédacteurPoints: 3965 Défis: 84 Message
Posté le 26-09-2012 à 15:01 | #
c'est quoi le jeu utilisé pour l'exemple?
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message
Posté le 27-09-2012 à 12:52 | #
Un gros projet de lemmings que je n'ai jamais terminé.
Dark stormHors ligneLabélisateurPoints: 11641 Défis: 176 Message
Posté le 28-09-2012 à 18:24 | #
fini-le ! fini-le ! fini-le !

Vu le screenshot, ce serai bête de ne pas le terminer

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 211 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd