Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPOSANT IMAGE ANIMÉE


Information sur la source

Catégorie :Composants Classé sous : composant, graphisme, animation Niveau : Débutant Date de création : 18/08/2007 Date de mise à jour : 22/08/2007 17:03:48 Vu / téléchargé: 4 415 / 679

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Composant TImage surchargé pour afficher une image animée.
Particularité : la série d'images de l'animation est stockée dans un TMemoryStream.
Comprend deux propriétés en plus : Tempo pour régler la vitesse de l'animation et Active pour l'activer ou la stopper.
Voir la démo...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

19 août 2007 11:34:40 :
Modification de l'indexation des images.
22 août 2007 17:03:49 :
Accepte les fichiers Jpeg. Une propriété en pus : Imode pour préciser le type d'image Utilisations possible : SplashScreen, logo animé...

Commentaires et avis

signaler à un administrateur
Commentaire de f0xi le 18/08/2007 12:20:49 administrateur CS

mmmm ... j'aurais pas vus ça de cette façon ...

et y'a deux ou trois truc qui me chiffoune ... :)

par exemple, la methode AfficheImage necessite un index, index que l'on ne peu pas réellement controler puisque qu'il n'existe pas de methode Count par exemple ...
il faudrait aussi quelques methodes pour vider les images chargée au cas ou ...


ensuite il me semble qu'il est superflus d'appeler le Refresh a la fin de cette methode puisque logiquement, l'assign du bitmap notifie l'objet TImage de la modification (et donc qu'il doit se rafraichir) ...

ensuite tu utilise le format bitmap en interne, soit, mais ne serait il pas judicieux de fournir une alternative (jpeg par exemple) qui prendrais moins de ressource memoire (au cas ou).

il y a aussi un manque de control dans les methodes Set* :

procedure TAnimage.SetTempo(Valeur : Integer);
begin
  if fTempo <> Valeur then
    fTempo := Valeur;
end;

procedure TAnimage.SetActive(Valeur : boolean);
var
no : integer;
begin
  if fActive <> Valeur then
  begin
    fActive := Valeur;
    if not (csDesigning in ComponentState) then
      while fActive do
        for no := 0 to fNbima-1 do
        begin
          if not fActive then
            exit;
          AfficheUneImage(no);
          Sleep(fTempo);
          Application.ProcessMessages;
        end;
  end;
end;


mais bon, je peu pas trop "critiquer" puisque j'ai moi même tenter sans succés d'ecrire de tel composant mais aucuns n'est satisfaisant.

signaler à un administrateur
Commentaire de Debiars le 19/08/2007 11:26:21

@foxi :  " j'aurais pas vus ça de cette façon ..."  ça, je n'en doute pas...;-)

Pour l'index dans AfficheImage, je te suis, ainsi que pour le Refresh.
J'utilise le format bitmap en interne pour la simple raison que toutes les images de mêmes dimensions ont la même taille, ce qui n'est pas le cas avec les jpeg's (j'ai testé), ce qui complique le stockage avec en plus position et taille pour chaque image, à moins que tu ais une autre solution que le TMemoryStream.

"if fTempo <> Valeur then fTempo := Valeur;"  je ne vois vraiment pas l'intérêt de la chose, que l'on remplace une valeur par la même valeur, ça ne casse pas trois pattes à un canard.

(csDesigning in ComponentState)  je ne connais pas cette bête là, ça fait quoi ?

signaler à un administrateur
Commentaire de Delphiprog le 19/08/2007 19:09:58 administrateur CS

Voilà un composant qui peut s'avérer utile à condition :
1- qu'on n'ait que des bitmaps à afficher
2- que toutes les images aient la même dimension
C'est un peu restrictif mais Debiars a justifié sa décision et je ne la contesterai pas.

Pourquoi utiliser le type TGraphic dans "ChargerGraphic(UneImage: TGraphic);" ? Cela peut induire en erreur la personne qui croirait que l'on peut injecter n'importe quel type d'image dans le liste. Pourquoi ne pas avoir obligé à transmettre un TBitmap en argument à la place ?

"csDesigning in ComponentState" : comme son nom le suggère, cette propriété indique que le composant est actuellement en cours de dessin.

Bon, je sens que si Debiars a eu besoin de nous pondre un composant, c'est qu'il a une idée derrière la tête...;o)

signaler à un administrateur
Commentaire de Debiars le 19/08/2007 20:45:06

@Delphiprog : merci pour les réponses à mes questionnements.

Effectivement, j'aurais dû mettre TBitmap à la place de TGraphic. Je me suis servi, comme base pour ce composant, de la classe que j'utilise dans le prog du Dé qui roule, et cela a échappé à mon oeil fatigué.
Je vais rectifier le tir en attendant de trouver mieux.  

Les idées derrière la tête, ça va, ça vient...

J'ai mis celle-là sous forme de composant parce que je n'en avais jamais écrit.

A suivre...

signaler à un administrateur
Commentaire de aminorimos le 27/08/2007 10:16:13

salut les amis
quelqu'un peut m'aider
je veut programmer un logiciel d'hotel
biensur hotellerie et tourisme
sur la gestion des reservation
mais je n'ai aucune formation sur le tourisme
et l'hotellrie....?????????

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Animation dans un Menu [ par Chong ] Bonjour, Tiens Bestiol en parlant de Menu, moi j'aimerai savoir si qlq à déjà réalisé un composant permettant d'afficher une petite aniamtion (rectan composant Tanimate [ par mighty_warrior ] Bonjour,Est-ce que quelqu'un pourrait me renseigné sur le composant Tanimate parce que l'aide de delphi ne m'apporte pas grand chose.D'aprés ce que j' Composant pour le temps réel [ par AmineTheGreat ] bonjour,est ce qu'il n'y a pas un composant ou une classe qui permet une plus grande puissance que les Threads car il semble que ces derniers ne march Transférer des fichiers... [ par korantin270 ] Salut à tous,J'ai créé un programme en delphi, qui doit - entre autre - transférer des fichiers.Le problème, c'est que (étant débutant en delphi) malg TIBTable et TIBQuery - Récupérer les Displaylabel en une seule procedure [ par simonpelloquin ] Bonjour A partir du tutoriel de DelphiProg (j'adore ce tutoriel !), j'essaie de modifier le composant TComboBox pour le remplir automatiquement avec l Composant héritant de TStringGrid [ par lacaillecaille ] Bonjour,   Je suis en train d'écrire un petit programme ayant besoin d'un tableau du genre StringGrid mais avec des fonctionnalités supplémentaires et Création d'un composant [ par speedy_gonzales ] Bonjour tous le monde           Voilà j'ai créer un Composant dans lequel je créer d'autres composant. Les composants se créer correctement lors de l' composant TStringAlignGrid [ par bubu4242 ] Bonjour à tout le monde,Nouveau sur ce forum, j'espère que je n'enfreins pas le règlement en envoyant ce message ici.Voilà : avec Delphi 1 j'utilisais statistiques [ par source2007 ] slt, comment utiliser le composant QRchart relié à une table qui doit être trié selon l'année, pour éditer des statistiques qui change chaque fois que composant TChart et secteurs [ par othland ] slt tlm,je veux bien savoir est ce qu'on peut réaliser un graphique de type secteurs (camembert) et utilisant le composant TChart, si oui comment???me


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.