Transition de couleur [Résolu]

mmptj 21 Messages postés mardi 4 mars 2003Date d'inscription 20 janvier 2009 Dernière intervention - 19 mars 2008 à 17:34 - Dernière réponse : mmptj 21 Messages postés mardi 4 mars 2003Date d'inscription 20 janvier 2009 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 19 mars 2008 à 18:14
3
Merci
Salut,

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

__________
  Kenji

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Meilleure réponse
mmptj 21 Messages postés mardi 4 mars 2003Date d'inscription 20 janvier 2009 Dernière intervention - 20 mars 2008 à 08:32
3
Merci
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'

Merci mmptj 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de mmptj
Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 20 mars 2008 à 13:16
3
Merci
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

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Meilleure réponse
mmptj 21 Messages postés mardi 4 mars 2003Date d'inscription 20 janvier 2009 Dernière intervention - 20 mars 2008 à 14:11
3
Merci
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

Merci mmptj 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de mmptj
Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 21 mars 2008 à 09:32
3
Merci
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

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de Charles Racaud
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 20 mars 2008 à 09:23
0
Merci
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
Commenter la réponse de cs_Exploreur
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 20 mars 2008 à 14:18
0
Merci
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
Commenter la réponse de cs_Exploreur
mmptj 21 Messages postés mardi 4 mars 2003Date d'inscription 20 janvier 2009 Dernière intervention - 21 mars 2008 à 09:13
0
Merci
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
Commenter la réponse de mmptj
mmptj 21 Messages postés mardi 4 mars 2003Date d'inscription 20 janvier 2009 Dernière intervention - 21 mars 2008 à 09:50
0
Merci
Charles,

merci de ton aide, je vais pouvoir avanver dans mon projet
Commenter la réponse de mmptj

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.