Animation avec png

5/5 (12 avis)

Vue 7 836 fois - Téléchargée 1 230 fois

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

Ajouter un commentaire Commentaires
Bacterius
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
1 mai 2009 à 00:09
MAJ :

- on peut modifier la taille de la fenêtre de lumière
- on peut maintenant choisir parmi une sélection de formes qui n'existent pas encore (un seul choix pour l'instant, celui par défaut ^^ mais ils viendront)

Cordialement, Bacterius !
Bacterius
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
30 avril 2009 à 20:10
Aah désolé je n'avais pas compris (je ne connaissais pas le terme "cropping").
Mais déjà il faudrait réfléchir à un algorithme pour améliorer l'image justement ...

Cordialement, Bacterius !
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
30 avril 2009 à 19:50
mais non, c'est le rectangle de sélection puis la fenêtre zoom..(souviens-toi..)
c'est pour ça que j'ai écrit cropping à tort d'ailleurs car dans le cropping, il y a une amélioration de l'image..
Bacterius
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
30 avril 2009 à 17:56
Euh non, c'est quoi le cropping ? Est-ce l'effet de spot dont tu parlais il y a quelques commentaires ?

Cordialement, Bacterius !
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
30 avril 2009 à 17:50
oui le terme n'est pas tout à fait approprié
mais je pense que tu as compris..
Afficher les 12 commentaires

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.