Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/10/2012, à 22:39

tcharlss

[Résolu][php] générer des couleurs avec la roue RYB

Bonjour à tous,

Alors ce n'est pas destiné à Ubuntu en particulier, c'est pour un plugin SPIP (cms épatant) : c'est donc du libre !

Je souhaite, à partir d'une couleur donnée, générer une palette de couleurs selon les règles d'harmonies des couleurs (compléments, triades, heptades etc.) c.f. gpick, kuler ou color scheme designer

A la base, c'est très simple :
- conversion de la couleur : hexa -> rgb -> hsv (teinte saturation valeur)
- variation de la teinte : il suffit de modifier la variable $H (qui va de O à 360)
- conversion inverse : hsv -> rgb -> hexa
Ma foi, ça marche très bien.
(à propos toutes les formules de conversion sont données sur le site easyrgb )

Cependant, la teinte est modifiée selon la roue chromatique RGB, tandis que j'aimerais opérer sur la roue RYB comme le font les générateurs de palettes évoqués plus haut.

roues chromatiques
On voit que sur la roue RYB, le complément du rouge est le vert, et les couleurs chaudes ont plus d'amplitude.

C'est là que ça se corse, après moultes lectures je ne suis toujours pas sûr de la marche à suivre.
Comment faire en sorte de changer une teinte en utilisant cette roue ? Faut-il convertir la couleur de départ dans l'espace RYB ? Tous les sites que j'ai consulté indiquent qu'il n'y a pas de formule simple pour faire cette conversion.
Une personne sur un autre forum suggérait de faire la conversion rgb -> longueur d'onde -> modification de la teinte -> conversion inverse. Mêmes commentaires, il semblerait qu'il n'y a pas de formule simple/fiable pour faire une conversion rgb <-> longueur d'onde.
Enfin bon, je crois qu'il y a quelque chose qui m'échappe.
J'ai commencé à jeter un coup d'oeil au code source de Gpick pour essayer d'avoir une piste, mais je n'ai que de modestes compétences en php, pas sûr d'arriver à en tirer quelque chose.

Bref, tout coup de main sera très apprécié

Dernière modification par tcharlss (Le 23/10/2012, à 14:03)

Hors ligne

#2 Le 23/10/2012, à 14:03

tcharlss

Re : [Résolu][php] générer des couleurs avec la roue RYB

J'ai finalement trouvé une fonction écrite en java qui fait exactement ce que je cherchais.
Elle se trouve dans librairie ColorLib pour processing (au passage, merci l'open source !) : https://code.google.com/p/colorlib/sour … h.java#260.
Il suffit de la transposer en PHP et le tour est joué.

La fonction en PHP est visible par là si ça intéresse des gens.

Hors ligne