Dégradé

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 4 juil. 2006 à 07:34
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 4 juil. 2006 à 18:45
Bonjour,
j'aimerais faire un dégradé animé,
par exemple sur un panel.
J'ai donc une fonction qui peint le degradé  Paint( Lineargradient brush ....) et j'aimerais que le point ou commence ce degradé bouge au fil du temps ainsi on auriat l'impression de mouvement.
Sinon j'ai des controles sur ce fond en dégradé et j'aimerais qu'ils aient leur backcolor suivant le dégradé . J'ai mis backcolor=tra nsparent mais ca n'y fait rien

voila merci

9 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 juil. 2006 à 08:04
Salut,
Tu peux par exemple utiliser un timer qui déplace le dégradé chaque xx secondes.
Sinon, pour la transparence, elle n'est pas supportée par tous les Controls.

<hr size= "2" /> VC# forever
=13319
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
4 juil. 2006 à 08:21
ouia merci pour le timer j'ai trouve tout seul finallement mais existe-t-il un moyen general d'avoir une fonction qui se deroule (genre une animation par exemple) pendant que mon prog principal se deroule .
Et ou pourrais-je trouver une aide pour la transparence


J'aimerais que mes groupbox et label soien transparents (ils possedent boien cette qualité mais en fait on garde la couleur d'origine qui n'a rien a voir avec le degradé

merci
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 juil. 2006 à 09:11
Euh, à la place du timer, tu peux aussi utiliser un thread avec un sleep... Mais y'a pas vraiment de "moyen général" pour faire une animation (tu peux aussi insérer un gif animé si c'est plus utile).

Pour la transparence, j'imagine que c'est parce que tu dessines ton dégradé manuellement (avec un Graphics).
Je ne vois pas directement comment faire pour qu'il apparaisse sur tes Control, à part le dessiner aussi sur le Control lui-même ?!

<hr size= "2" /> VC# forever
=13319
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
4 juil. 2006 à 11:46
oui c quelque chose avec un thread que je voulais mais aurais tu un exemple de code stp ( assez simple juste pour voirf comment ca marche)
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
4 juil. 2006 à 11:59
Comment faire alor spour avoir un fond dégradé avec les controles degadés egalement?
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 juil. 2006 à 12:27
Rapidement fait juste pour montrer le principe :

publicpartialclassForm1 :
Form
{
   privateint _i = 0;
   privateLinearGradientBrush _lgb = null;

   public Form1()
   {
      this._lgb = newLinearGradientBrush(this.ClientRectangle, Color.Red, Color.Black, 0f);
      this.InitializeComponent();
   }

   privatevoid Form1_Load(object sender, EventArgs e)
   {
      Thread thread = newThread(newParameterizedThreadStart(this.AnimeLinear));
      thread.IsBackground = true;
      thread.Start(this.CreateGraphics());
   }

   privatevoid AnimeLinear(object graphics)
   {
      while (true)
      {         this._i (this._i 360 ? 0 : ++this._i);
         this._lgb.RotateTransform(this._i);
         ((Graphics)graphics).FillRectangle(this._lgb, this.ClientRectangle);
         Thread.Sleep(200);
      }
   }
}

<hr size="2" /> VC# forever
=13319
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 juil. 2006 à 12:28
Ben je crois que tu seras obligé d'appliquer le dégradé sur ton Control aussi...
Je ne vois pas d'autres solutions en tout cas...

<hr size= "2" /> VC# forever
=13319
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
4 juil. 2006 à 14:09
ok merci pour l'exemple
par contre c quoi laz methode creategraphics ( aq uoi correspond elle?)


et rotatetransform ?


 


merci bien en tout cas
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 juil. 2006 à 18:45
CreateGraphics() permet d'avoir le Graphics qui te permets de dessiner sur ton Control...

RotateTransform, je l'ai utiliseé pour animer le dégradé, tu peux faire autrement si tu en a envie, c'est juste une idée...

<hr size= "2" /> VC# forever
=13319
0
Rejoignez-nous