[..] Boîte à couleurs

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

[..] Boîte à couleurs

#1

Message par EricG »

Bonjour,

Voilà, c'est un peu simplet (mais, justement), je suis un passionné des couleurs :roll: Le script afficherait une boite dont une case représenterait une couleur modifiable, un beau rectangle qui ferait apparaitre la boite des couleurs Windows (je dis ça comme ça) et puis, celle-ci choisie, l'état d'autres cases changerait.

Celle à sa droite, la couleur opposée (sur une disque chromatique, la teinte plus 180 degrés, pour faire le malin :? ). En dessous, la luminosité inversée de ces deux couleurs, puis en-dessous encore, la saturation inversée. Pour avoir des couleurs assorties mais bien contrastées entre elles, ce qui n'est pas simple, même avec des outils en ligne, en teinte, saturation et luminosité.

Il parait que ce n'est pas très clair, pour moi, ça l'est :mrgreen: alors je vous donne un exemple : Dans la boite donc, je clique sur le rectangle en haut à gauche pour changer sa couleur, je voudrais du orange clair. Ceci fait, à droite, j'ai du bleu-ciel clair. Pour les deux cases du dessous : orange sombre et bleu sombre, et encore en-dessous un orange saturé et un bleu de même.

Vous devez bien vous marrez :lol: ! C'est pour voir aussi... Les outils en ligne sont plus performants mais pas évidents. Il y aura, peut être, aussi un but pédagogique.

Merci.
Modifié en dernier par Tlem le sam. 02 févr. 2008 18:24, modifié 1 fois.
Raison : Ne pas oublier le [..] au debut du titre ! Merci.
Alain54210
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 16 déc. 2008 17:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#2

Message par Alain54210 »

Bonjour,

Ce sujet date un peu, j'espère qu'il intéresse encore quelqu'un (au moins son auteur).

J'ai écrit un petit programme de test.
J'utilise une conversion RGB TLS qui permet semble-t-il de traiter le cas saturation. A vérifier.
Par contre, je n'ai pas encore pu résoudre le cas de la lumière...
Faut-il traiter avec une autre conversion.

(Je pense qu'il reste quelques cas d'arrondi à résoudre.)
Fichiers joints
Boîte à couleurs1.au3
(18.7 Kio) Téléchargé 134 fois
Modifié en dernier par Tlem le mer. 25 mars 2009 08:27, modifié 2 fois.
Raison : Ajout balise code
Alain54210
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 16 déc. 2008 17:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#3

Message par Alain54210 »

le script a été modifié en utilisant une conversion TSV comme celle utilisée dans GIMP.
Elle permet de traiter un peu mieux la demande D'ERICG
Fichiers joints
Boîte à couleurs2.au3
(15.84 Kio) Téléchargé 114 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Boîte à couleurs

#4

Message par Tlem »

Merci pour l'aide que vous avez apporté.
Pensez simplement à mettre votre code en fichier joint lorsque celui-ci est assez long.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#5

Message par EricG »

Bonjour,

D'abord, l'interface ressemble tout à fait à ce que je pensais, mais le script plante, impossible de choisir des valeurs, à me demander si je dois les entrer quelque part...

Code : Tout sélectionner

Boîte à couleurs2.au3 (163) : ==> Variable used without being declared.: 
$tChoose = DllStructCreate($tagCHOOSECOLOR) 
$tChoose = DllStructCreate(^ ERROR
Le meilleur résultat que j'obtiens est quand j'utilise la version 1 et que je change la ligne 125 :

Code : Tout sélectionner

Func _ChooseColorRGB($iColorRef = 0,  $hWndOwnder = 0, $tagCHOOSECOLOR = 0, $__MISCCONSTANT_CC_ANYCOLOR = 0, $__MISCCONSTANT_CC_FULLOPEN = 0, $__MISCCONSTANT_CC_RGBINIT = 0)
Ce qui revient à forcer les valeurs, je suppose.

Autre point : il est écrit ajouter 50° à V (Value), de même pour la saturation, ce ne sont pas des degrés, plutôt une sorte de pourcentage. Le commentaire est bon pour la ligne 368, mais pas le second 378 (ce n'est pas 44 (?))

J'aimerai pouvoir aider mieux, d'autant plus que quand vous dites que ça devrait correspondre aux souhaits d'EricG, j'ai honte :?
Alain54210
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 16 déc. 2008 17:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#6

Message par Alain54210 »

Bonjour,

J'utilise AutoIt version 3, je n'ai pas de message d'erreur
la fonction _ChooseColorRGB permet de choisir une couleur avec l'outil Windows.

Pour choisir, il faut cliquer sur le premier bouton intitulé "choisir".

Je suis d'accord pour le terme % pour la saturation (maxi 100)
Pour la lumière, ayant choisi la boite GIMP comme référence, il s'agit plutôt de valeur (maxi 255)

pour affiner, j'ai besoin d'exemples pour trouver une formule.

J'ai pensé qu'une version béta serait préférable pour avancer.

Pour le fichier joint, je ferai mieux la prochaine fois (merci à Tlem)
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#7

Message par EricG »

Bonjour,

Haaa ! Ça marche ! Il fallait que je passe à la version 3.3.0.

On va essayer des couleurs de base parce que je ne vais pas lancer Gimp ce soir. J'ai peu de temps.

Disons l'orange : 255, 127, 0 ;
La couleur opposée est le bleu ciel, un H+180° ;
La saturation est abaissée de 50, normal ;
L'autre aussi ;
De même pour la luminosité, rien à dire.

Voyons pour une couleur plus claire : 255, 191, 127 ;
La couleur opposée est égale à H+180°, parfait ;
Pour la saturation, on a HSV 0,0,100 au lieu de 30,0,100,
il est vrai que ça pourrait être 30,100,100 (par rapport à la couleur choisie HSV 30,50,100) ;
Pour les luminosités inversée, ça paraît bon, réduite de 50%.

Pour une couleur sombre : 127,63,0
Aïe ! l'historique semble débordée ! Je relance. Au passage : ce serait bon que la boîte Windows reprenne la couleur choisie...
La couleur opposée parfaite ;
Saturations parfaites ;
Les luminosités, des erreurs. Ce que je voudrais là, des couleurs claires puisque nous partons de couleurs sombres. donc, partant de 30,100,50, je voudrais 30,100,100, mais ça pourrait être 30,100,0 (toujours très sombre, mais pas 30,50,25). En fait, il faudrait partir de la moyenne des composantes RGB, et on l'augmente de 128...

Pour Windows, chez qui une saturation et une Luminosité maximales sont égales à 240, le même orange sombre donne une luminosité à 60, soit 25%, ce qui est logique, car ainsi on aurait une luminosité inversée à 75 % !

Logiquement, l'erreur est du côté de notre programme.
Alain54210
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 16 déc. 2008 17:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#8

Message par Alain54210 »

bonsoir,

pour la lumière, est-ce que cette formule correspond mieux a ton souhait

corriger la fonction _couleur_luminosite($couleur_RGB)
;
► Afficher le texte
pour le choix de la couleur, il faudrait modifier la ligne 125
$couleur_choisie = _ChooseColorRGB(0x8fdfff, $GUI)
0x8FDfff est la couleur afficher par windows à l'ouverture de la boîte
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#9

Message par EricG »

Bonjour,

Je vois a peu près la modification apportée : on retire ou on ajoute 128...

Pour l'orange clair (255,191,127), quand on change la saturation, on perd Hue aussi.
Quand je clique sur Choisir, j'aimerais retrouver cet orange, pour le modifier.

Pour une couleur comme 191,63,0 ; tout est parfait.

Il m'a semblé que pour un certain type d'orange qu'on n'ait des couleurs affichées, pour les luminosités, pas bonnes (du vert:). On retombera sur ce cas de figure peut être.

Il se pourrait que les couleurs sombres ne paraissent pas bien contrastées avec les couleurs désaturées. L'utilisateur sera peut être tenté de remonter la lumière en plus.

Si on force ce choix, on évitera la multiplication des cases. Sinon, à droite de chacune des quatre couleurs du bas, on aurait, à droite, quatre autres couleurs à qui l'on modifirait la saturation pour celles modifiées en luminosité, et inversement.

Évidemment, les couleurs obtenues sombres, sont facilement noires... :)
Je vais faire des palettes en image et les proposer pour vous guider, ainsi pour donner une direction au travail.

Merci.
Alain54210
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 16 déc. 2008 17:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#10

Message par Alain54210 »

Bonjour,

pour garder le dernier choix, modifier la ligne 125 :

$couleur_choisie = _ChooseColorRGB($couleur_choisie, $GUI)

Pour le traitement de la lumière, j'ai choisie la conversion HSV et non HSL, ceci est peut-être important pour trouver une bonne formule.
J'ai fait ce choix pour être en accord avec la boîte de couleur GIMP.
Une différence, la boîte GIMP V a une valeur maxi de 100,
dans la fonction que j'utilise, le maxi est de 255
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#11

Message par EricG »

Bonjour,

Il garde le choix et c'est très pratique.

Comme je disais, avec le orange 255,191,127, Hue tombe à 0, et je pense qu'on devrait augmenter la saturation de 50 et non la diminuer, sinon on se retrouve du presque blanc sans intérêt.
Il me semble, en plus, que si on entre 255,127,0, on retrouve l'inverse : 255,191,127
Donc, cas 1 : 255,191,127 -> 255,127,0
cas 2 : 255,127,0 -> 255,191,127
Ça boucle, c'est plus logique.

Si l'on part d'une couleur sombre, la version désaturée n'est pas très contrastée, parce que la saturation est faible au départ, et la différence ne se voit pas beaucoup.
Par exemple : si on part de 127,63,0 on obtient 127,95,64 à l'oeil, c'est presque pareil. Par contre, si j'augmente la luminosité : 255,224,191 c'est bien autre chose.

Je ne sais pas si ça conviendrait à tous les cas de figure, sinon, il faudrait proposer un autre choix où la luminosité reste fixe, et puis pour les deux cases du bas, offrir aussi avec une saturation rehaussée.

Je vais faire des exemples sou Gimp pour illustrer.

Merci encore.
Alain54210
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mar. 16 déc. 2008 17:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#12

Message par Alain54210 »

Bonjour,

J'ai modifié la fonction saturation pour conserver un maxi à 100

► Afficher le texte
EricG
Niveau 2
Niveau 2
Messages : 18
Enregistré le : lun. 21 janv. 2008 10:22
Status : Hors ligne

Re: [..] Boîte à couleurs

#13

Message par EricG »

Salut,

Finalement, j'ai modifié ; ça me paraît fonctionner et obéir à une certaine logique.
Je retranche 50 % à la saturation si elle excède 50, sinon, le contraire. On peut retomber sur du blanc mais c'est plus souple. Je pouvais aussi imposer 25 %.

Comme j'avais dit, les couleurs désaturées sont souvent trop proches des couleurs choisies sombres, je les éclaircies si c'est le cas.

Les textes de l'interface ne conviennent peut être plus tout à fait. J'ai passé un moment à réfléchir à tout ça. J'essaye ma palette avec cette dernière version du script.

Tu n'est pas obligé de me répondre pour une deux petites corrections, je manque aussi quelques fois de temps.

Merci.
► Afficher le texte
Répondre