Génération d'une image GIF animée

Soyez le premier à donner votre avis sur cette source.

Vue 4 314 fois - Téléchargée 3 969 fois

Description

L'application est réalisée en cpp avec Visual Studio 2005 de Microsoft en utilisant le modèle d'Application MFC basée sur une boite de dialogue.

Ce programme démontre comment générer des images GIF animées. Notons que ces images peuvent être transmises et visualisées (avec leur animation) sur tous les navigateurs Internet. La clé de ce programme est la classe CGIF89a qui permet de lire et créer un fichier *.gif animé. Cette classe assure la compression et la décompression des images conformément à la norme GIF (Variable Length Code LZW Compression). Cette norme est jointe à ces sources.

La génération des images destinées à tester ces fonctions est réalisée par la classe CCubes, capable de construire des images de Rubik's Cube en perspective. Elle est secondée dans cette tâche par les classes CMatrix, CSide et de l'utilitaire CubeUtilities. Pour améliorer la qualité des images fournies une méthode optionnelle d'anti aliasing est ajoutée qui consiste à dessiner l'image zoomée pour la réduire ensuite à la taille souhaitée. Avec cette option, l'optimisation des couleurs nécessaires est assurée par la classe CColorQuantizer.

L'image animée résultante est affichée par la classe CShowGif.

La séquence de mouvements destinée à animer le Cube est décrite dans l'algèbre standard des amateurs de Rubik's Cube. C'est la classe CCmdString qui assure cette reconnaissance. Par défaut, à titre d'exemple les instructions proposées place le Cube en Superflip. L'originalité de cette figure est que la même séquence de mouvements construisant la figure, réptée une deuxième fois, remet le Cube à son état initial ordonné. L'animation proposée en donne la démonstration. Pour les non initiés au Rubik's Cube le Superflip est la figure qui consiste à ne faire seulement tourner sur eux-mêmes les 12 cubes arrêtes sans changer les autres cubes constituants. Par exemple, l'arrête située entre la face bleue et la face blanche présente le blanc sur la face bleue et le bleu sur la face blanche. C'en est ainsi pour toutes les arrêtes comme par exemple, les arrêtes de la face bleue présentent blanc, orange, jaune et rouge alors que les sommets de cette face restent bleus (la couleur d'une face correspond à la couleur du cube central).

L'application comporte une fenêtre de dialogue permettant de modifier tous les paramètres de la génération y compris la séquence de mouvements, puis de lancer la génération. Un compte rendu de la progression de cette génération est affiché ainsi que les caractéristiques de l'image générée.

Ce démonstrateur est intégré dans l'application complète présente sur ce site : "RubixCube" ( http://www.cppfrance.com/codes/RUBIX-CUBE_51633.aspx ) .

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.