Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tk code hexa d'une couleur à partir du nom

22 réponses
Avatar
perlgenome
Bonjour,

Pouvez vous me dire comment obtenir le code hexa =E0 partir d'un nom de
couleur en perl Tk. Existe il une m=E9thode qui pourrait me le fournir.
Par exemple, afin d'obtenir #FF0000 pour la couleur 'red' ! Comment
Perl Tk fait il pour faire la correspondance entre les noms de couleur
et le code hexa. J'en ai besoin pour mettre =E0 jour mon code dans mes
modules.

Merci.

2 réponses

1 2 3
Avatar
perlgenome
On 7 juin, 15:28, Paul Gaborit wrote:
À (at) Mon, 7 Jun 2010 03:31:24 -0700 (PDT),
perlgenome écrivait (wrote):

> Vu que tu as trouvé le bug de rgb avec des codes hexa (4bits), je
> soumet un patch sur le CPAN pour le bug de rgb ou je te laisse le
> faire ?

Fonce... J'ai le flemme de le faire d'autant qu'il faut encore trouver
où est le bug et faire le patch ! ;-)

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>



Ok, je vais me coltiner la recherche dans les codes du CPAN pour
pouvoir faire un patch :-) . Au pire, si je ne trouve pas, je
relaterai l'exemple de bug que tu as trouvé et soumettrais le code.
Avatar
Jerome Quelin
Paul Gaborit wrote:
À (at) Mon, 07 Jun 2010 13:44:28 +0200,
Jerome Quelin écrivait (wrote):

extrait de perldoc -f sprintf :

%x an unsigned integer, in hexadecimal

noter le *integer* ==> perl va convertir automatiquement, c'est
garanti.



Ok pour la conversion en entier... mais se fera-t-elle toujours par
troncation (c'est le cas aujourd'hui) ou pourrait-elle un jour se faire
par arrondi ?



euh, je n'ai jamais, mais alors jamais entendu une conversion en entier se
faire via un arrondi. sans compter que l'arrondi pose l'épineuse question de
l'algorithme à utiliser, question loin d'être simple.

donc pour moi, c'est garanti que ce n'est pas un arrondi. d'ailleurs,
"perldoc -f int" fournit un indice dans ce sens :

You should not use this function for rounding ... Usually, the
"sprintf", "printf", or the "POSIX::floor" and "POSIX::ceil"
functions will serve you better than will int().


jérôme
--

1 2 3