Animation avec png

Description

Bonjour,
ayant téléchargé PNGLib j'ai décidé de m'initier ^^
Je vous explique le principe : au démarrage de l'application, l'on crée un PNG totalement noir, et l'on fera varier les valeurs alpha des pixels. On dispose également d'une image d'arrière-plan. Graçe à un savant calcul (même pas de trigo ...), on va modifier les valeurs alpha de tous les pixels selon un algorithme bien défini (simple). Une fois ceci fini, on va dessiner l'image en arrière-plan, puis coller le PNG par-dessus. Et, devinez quoi ? oooh, les pixels avec une valeur alpha modifiée vont laisser transparaître l'image d'arrière-plan derrière eux !
Résultat : une belle animation :D
Tout ça avec quelques options, comme la vitesse de l'animation, la taille de la fenêtre de lumière, la possibilité de mettre en pause, et une petite option qui modifie légérement le style de l'animation.
J'ai pris comme image d'arrière-plan une photo JPG de chatons ...
J'ai inclus une capture d'écran, pour que vous voyiez ce que ça donne rapidement sans avoir à télécharger.
J'utilise le TangentThread (depuis que j'ai fait ce composant, le TTimer n'existe plus pour moi, et je ne fais plus d'unité thread), mais il est créé dynamiquement, donc du moment que vous ne touchez pas aux répertoires External et Image, tout va bien ... et aussi la PNGLib (qui est incluse dans le zip).
Si vous n'arrivez vraiment pas à compiler (trop d'erreurs dans PNGImage, par exemple) laissez tomber et renommez le fichier "Hidden.ex_" en "Hidden.exe", et lancez !
Voilà, je pense avoir à peu près tout dit ... maintenant que vous avez tout lu, allez regarder le résultat ;)

C'est vraiment une source très simple, qui a été faite dans le but de s'amuser et de tester la PNGLib (evidemment le PNG n'est pas en position très glorieuse ici, mais bon ... je pense que je ne vais pas oublier la PNGLib d'aussi tôt :p), donc pas d'utilité à part vous attendrir devant ces deux chatons :)

NEW NEW : possibilité de choisir la taille de l'animation et également sa forme (actuellement il n'y a qu'une seule possibilité : losange, mais d'autres viendront plus tard au fur et à mesure qu'elles se feront coder) !

Source / Exemple :


// In the zip !

Conclusion :


Voilà, tous commentaires, conseils, remarques, critiques, etc ...

Cordialement, Bacterius !

_________________________

Remerciements :

à f0xi, qui, sans sa source "Des dés", ne m'aurait jamais amené à télécharger PNGLib.
Sa source : http://www.delphifr.com/codes/_49927.aspx

_________________________

Liens utiles :

Tangent Pack, où vous pourrez retrouver le TangentThread et bien d'autres composants intéressants : http://www.delphifr.com/codes/TANGENT-PACK-COMPOSANTS_49731.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.