Transition de couleur

Résolu
mmptj Messages postés 21 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 20 janvier 2009 - 19 mars 2008 à 17:34
mmptj Messages postés 21 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 20 janvier 2009 - 21 mars 2008 à 09:50
Bonjour,

Je "travaille" en ce moment sur un petit programme pour afficher une ambiance lumineuse en utilisant mon écran comme source lumineuse.
2 effets sont prévus pour le moment chenillard et fondu entre 2 couleurs.

Les couleurs sont pour le moment sélectionnées par le controle de choix de couleur.

Je cherche un moyen d'afficher une couleur de fond d'un formulaire (ou de tout autre controle) variante entre 2 couleurs.
Le changement de couleur serait géré par un timer.
La variation de couleur consisterait à faire varier linéairement les valeurs RGB des 2 couleurs.

Ce que je n'arrive pas à faire c'est de donner une couleur RGB à un controle.

Merci de votre aide.

9 réponses

Utilisateur anonyme
19 mars 2008 à 18:14
Salut,

TonControl.BackColor = RGB(rouge, vert, bleu)

__________
  Kenji
3
mmptj Messages postés 21 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 20 janvier 2009
20 mars 2008 à 08:32
Merci de ta réponse Charles,

Cela fonctionne bien en VB6 mais en VB2005 j'ai l'erreur suivante:

Une valeur de type 'Integer' ne peut pas être convertie en 'System.Drawing.Color'
3
Utilisateur anonyme
20 mars 2008 à 13:16
Ha, en .net (pardon) c'est System.Drawing.Color.FromARGB(rouge, vert, bleu)
http://msdn2.microsoft.com/en-us/library/system.drawing.color.fromargb.aspx

__________
  Kenji
3
mmptj Messages postés 21 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 20 janvier 2009
20 mars 2008 à 14:11
Exploreur,

j'ai esayé de convertir rgb() en long mais j'obtiens le message d'erreur :

Une valeur de type 'Long' ne peut pas être convertie en 'System.Drawing.Color'

Charles,

Je vais essayé quand j'aurais un peu de temps

En tout cas merci de votre aide
3

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

Posez votre question
Utilisateur anonyme
21 mars 2008 à 09:32
Salut,

Plutôt que de faire des calcules "foireux" (désolé pour le mot), utilise :
ColorDialog1.Color.R
ColorDialog1.Color.G
ColorDialog1.Color.B

__________
  Kenji
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 mars 2008 à 09:23
Salut,

Il me semble(je crois ) que les couleurs sont définies en Long..

A+
Exploreur

 Linux a un noyau, Windows un pépin

Un jeu en flash sympa...? Voir ici
Si vous voulez vous inscrire
mettez comme parrain : exploreur
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 mars 2008 à 14:18
Re,

Ne valide pas ma réponse si j'ai dit une co......ie !

A+
Exploreur

 Linux a un noyau, Windows un pépin

Un jeu en flash sympa...? Voir ici
Si vous voulez vous inscrire
mettez comme parrain : exploreur
0
mmptj Messages postés 21 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 20 janvier 2009
21 mars 2008 à 09:13
Charles,

J'ai testé "System.Drawing.Color.FromARGB" et ça fonctionne.

Tout le monde,

Je n'arrive pas à convertir une couleur au format AARRGGBB en RR,GG,BB

ma source:

Dim iRGB
As Int64

Dim iRouge
As
Integer

Dim iVert
As
Integer

Dim iBleu
As
Integer

Dim iTemp
As UInt32ColorDialog1.ShowDialog()

sender.BackColor = ColorDialog1.Color

iRGB = ColorDialog1.Color.ToArgb

iTemp = iRGB

iRouge = iTemp

Mod 256iTemp = iTemp / 2 ^ 8

iVert = iTemp

Mod 256iTemp = iTemp / 2 ^ 8

iBleu = iTemp

Mod 256

Me.BackColor = System.Drawing.Color.FromArgb(iRouge, iVert, iBleu)

mais lorsque j'execute iRGB = ColorDialog1.Color.ToArgb

iRGB est négatif et la dernière instructiion plante car les couleurs ne peuvent pas être négatives
0
mmptj Messages postés 21 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 20 janvier 2009
21 mars 2008 à 09:50
Charles,

merci de ton aide, je vais pouvoir avanver dans mon projet
0
Rejoignez-nous