thr_dreamer_57
Messages postés44Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention 3 novembre 2008
-
7 avril 2007 à 17:39
LUDINSKI
Messages postés441Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention22 mai 2012
-
30 avril 2007 à 22:07
Salut tout le monde,
je suis sur le point de réaliser une application dans laquel j'ai besoin d'intégrer une zone graphique qui décrit le fonctionnement du système. Ci après je vais expliquer le but souhaité, ce que j'ai trouvé comme solution et mes questions à propos de manipulations de quelques contrôles.
L'interface doit décrire le fonctionnement d'une chaine industrielles :
- l'arrivée de bouteils sur une tapie roulante,
- le traitement de bouteils par une station de lavage,
- le passage des bouteils lavés sur une autre tapie vers un robot .... (etc)
A première vue, j'ai décider d'utiliser image que j'introduit dans un Graphic exemple dans le cas des bouteils j'introduit des l'image d'une bouteil à une position donnée ensuite je change la position afin de créer l'annimation,
Question :
- je voudrais savoir comment utiliser un picture box (les déclarer, leur affecter des images et comment les déplacer),
- comment ralentir (faire un delay) pour pouvoir créer l'annimation vu que cette boucle :
for(int i=0;i<5;i++)
g.drawimage(image,i+30,30);
affiche l'image directement à l dernière position donc j'ai voulu faire un delay (un wait),
- j'ai besoin de faire appel à une annimation gif (car avec flash je me suis casser la tête des journées entière et j'ai pas trouvé la réponse) donc est ce que quelqu'un pourrai m'expliquer comment integrer un gif dans la form et comment le démarrer l'arréter le manipuler quoi :).
LUDINSKI
Messages postés441Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention22 mai 20128 7 avril 2007 à 21:53
Salut dreamer...
Voilà ce que je te conseille :
Tu dérives d'un Panel (par exemple) et tu lui ajoutes une méthode du
genre UpdateBitmap() dans laquelle tu dessines l'état de ton animation
dans un Bitmap, style :
privateBitmap _bufferAnimation;
Dans l'évènement OnPaint du contrôle, tu dessines ton image :
if( _bufferAnimation != null )
e.Graphics.DrawImage( _bufferAnimation, 0, 0 );
Et à chaque fois que tu dois mettre à jour ton animation, tu fais appel à UpdateBitmap()
Puis tu redessine ton contrôle : Invalidate( true );
thr_dreamer_57
Messages postés44Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention 3 novembre 2008 9 avril 2007 à 00:00
Salut,
j'ai encore eu des difficultés à faire annimer mon image à chaque fois que j'utilise drawImage l'image précédente reste affichée (superposition des images) et j'ai pas bien saisi l'utilisté du _bufferAnimation et comment utiliser UpdateBitmap donc svp LUDINSKI si vous vouliez bien détailler un petit exemple d'annimation d'une image ( que ce soit l'image est déja insérée dans un picturebox ou bien qu'on la redessine chaque fois avec DrawImage) moi j'ai pensé dessiner l'image un première fois ensuite faire un delay ensuite la redessiner avec drawimage avec un décalage selon l'annimation souhaité est ce possible ?. Sinon j'espère que je ne me montrerai pas trop gourmant en demandant si qulqu'un a une idée sur la manipulation des annimations .gif ou .swf ça sera un grand service.
PS: j'enverrai le code de mon application commenté après avoir résolu tt les problèmes.
Merci d'avance. D57
Vous n’avez pas trouvé la réponse que vous recherchez ?
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 9 avril 2007 à 01:51
Salut, pour avoir un "delay" entre chaque frames.. soit tu utilises la classe System.Windows.Timer qui permet d'appeler une méthode à intervalles reguliers et donc de dessiner tes frames dans cette méthode. Soit, plus compliqué, en utilisant l'heure du sytème dans une boucle infini.. ( un peu long à expliquer ).
Les gifs s'animent tous seuls dans une PictureBox ou alors avec la classe ImageAnimator comme je le fais ici :
Angelsoul
Messages postés2Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention29 avril 2008 30 avril 2007 à 11:49
bête question mais comment puis-je modifier ton code pour l'utiliser avec d'autres images bmp car j'ai toujours une erreur "Value of 'null' is not valid for 'stream' "