banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Tue 12 February 2008 22:27

maldan
Juste Inscrit !
Date d'inscription: 15 Mar 2006
Messages: 3

calculer les codes couleurs rvb dans une table

Bonjour,

J'ai une couche polygone avec une analyse thématique par catégories.
Je souhaiterais calculer dans la table de cette couche, dans trois  champs ROUGE VERT BLEU, les codes RVB qui correspondent aux couleurs de cette analyse thématique.
Est-ce qu'il existe un bout de code à charger dans la calculette de champs pour rapatrier dans ma table ces codes ?

Merci !

Hors ligne

 

#2 Wed 13 February 2008 08:33

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3180
Site web

Re: calculer les codes couleurs rvb dans une table

Bonjour,

Un bout de code VB pour convertir un entier long représentant une couleur en trois champs RGB (en général on dit Green et pas Vert en informatique)

Code:

Public Sub MyGetRVB(ByVal lColorValue As Long, _
                    ByRef r As Integer, _
                    ByRef v As Integer, _
                    ByRef b As Integer)
     
    b = lColorValue \ 65536
    v = lColorValue \ 256 And &HFF
    r = lColorValue And &HFF
End Sub

Après charge aux spécialistes arcview de l'intégrer.

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#3 Wed 13 February 2008 10:05

maldan
Juste Inscrit !
Date d'inscription: 15 Mar 2006
Messages: 3

Re: calculer les codes couleurs rvb dans une table

Merci,

Est-ce à dire que les couleurs d'une analyse thématique dans ArcMap sont codées sous la forme d'un entier qu'il faut décrypter avec le code ci dessus pour récupérer l'information sous la forme de 3 valeurs RGB ?
En fait, sur le forum d'ESRI* j'ai trouvé une macro qui génère une analyse thématique en fonction des valeurs RED GREEN BLUE contenues dans la table de la couche poly. Moi, c'est exactement le contraire que je souhaiterais faire...
J'ai lancé des recherches un peu partout mais sans trouver encore de solution...   
Si vous pouviez faire avancer mon chmilblik...

* http://forums.esri.com/Thread.asp?c=93& … 747#555759

Hors ligne

 

#4 Wed 13 February 2008 14:06

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3180
Site web

Re: calculer les codes couleurs rvb dans une table

Bonjour

maldan a écrit:

Est-ce à dire que les couleurs d'une analyse thématique dans ArcMap sont codées sous la forme d'un entier qu'il faut décrypter avec le code ci dessus pour récupérer l'information sous la forme de 3 valeurs RGB ?


Je vous ais donné une réponse globale. Sous windows les couleurs sont toujours gérées sous forme d'un entier long, pour pouvoir passer de cet entier long à sa décomposition (RGB) il faut effectuer l'opération mentionnée dans mon précédent post. Chaque composante est codée sur un octet, et l'entier  long contient les valeurs suivante : rien pour l'octet de poids fort, ensuite le bleu, puis le vert puis le rouge.

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#5 Wed 13 February 2008 14:59

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3180
Site web

Re: calculer les codes couleurs rvb dans une table

Re,

Je ne connais pas arcview dans le détail (même néophyte) mais après un petit tour ici

il me semble que la couleur est gérée au travers de l'interface IrgbColor pour tous les objets qui en ont une non ?

Donc le code que je vous ais mentionné est donc inutil, quelque soit x vous récupérerez toujours un objet Irgbcolor.

Désolé.

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#6 Wed 13 February 2008 16:09

maldan
Juste Inscrit !
Date d'inscription: 15 Mar 2006
Messages: 3

Re: calculer les codes couleurs rvb dans une table

Merci quand même...

biensûr il y a toujours la solution qui consisterait à noter sur un bout de papier, et pour chaque symbole, les valeurs RVB (enfin RGB) dans le sélecteur de couleur puis de les saisir dans la table en faisant des sélections par attribut + "calculer les valeurs" mais j'aurais préféré faire tourner une moulinette, ça eut été plus pro.

Si  à tout hasard quelqu'un(e) a la solution je suis preneur...

Hors ligne

 

Pied de page des forums

Powered by FluxBB