Jump to content
  • 0

Couleur en fonction des initiales


Stefane
 Share

Question

Bonjour, il est courant de voir des carrés ou ronds avec les initiales des prénoms d'un user qui possèdent un fond colorés en fonctions des lettres.  Exemple : SG a un fond vert pistache, LM un fond rose, etc…
Un ami à moi a fait cela sur un site avec le script PHP suivant . 
 

$uid = strtolower($this->getCallerName());
$hex = "transparent"; if($uid != null)
{ $hex = "#"; for($i=0;$i<3;$i++)
{ $ascii = ord($uid[$i]);
$dec = $ascii<60?($ascii-47)*7:($ascii-86)*7;
$hex.= str_pad(dechex($dec), 2, "0", STR_PAD_LEFT); } }

Problème c'est que premièrement j'y comprends rien et que deuxièmement, les fonctions comme  ord() n'existent pas.
Je ne sais pas comment m'y prendre ? Dans le cas de SG, à mon avis il faut traiter la lettre S en ascii, puis la lettre G et ensuite transformer le tout en #000000 ??! Une idée ? Moi je sèche

Côté str_pd() j'ai déjà une fonction personnalisée :)

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Salut :)

Pour faire des avatars texte, j'ai trouvé un service en ligne qui permet de les générer très facilement (il suffit d'appeler le service via une simple adresse Url, avec les variables qui vont bien)… le site se trouve ici : https://eu.ui-avatars.com/

J'ai fait rapidement une petite solution FileMaker qui, par un simple "Insérer depuis URL", récupère l'avatar et le place dans une rubrique container, on peut même configurer la taille et la couleur des éléments (le fond et le texte), voici le fichier à télécharger et une capture d'écran :

Avatars-Texte-01.png

Avatars-Text.fmp12.zip

;)

Link to comment
Share on other sites

  • 0

Bonjour,

pour calculer avec FMP la couleur de fond de tes avatars, la transposition de la fonction de ton ami nécessite d'abord une fonction personnalisée qui permet de convertir une valeur décimale en hexadécimal ( j'aurais pu l'intégrer dans le calcul final…mais bon, flemme du lundi de Pâques de faire une boucle TantQue dans une autre TanQue )

dec2hex ( dec )

Definir (
   [
      h = "0123456789ABCDEF" ;
      r = Mod ( dec ; 16 ) ;
      d = Ent ( dec / 16 )
   ] ;
   Cas ( d ; dec2hex ( d ) ) & Extrait ( h ; r + 1 ; 1 )
)

 

et le calcul qui permet la transposition de 3 caractères (max) en couleur #hex:

Definir (
   [ initiale = "MrX" ] ;

   Si ( Not EstVide ( initiale ) ;
      TantQue (
         [
            // initialisation variables
            initiale = Minuscule ( initiale ) ;
            i = 0 ;
            hex = "#"
         ] ;

         // condition sortie de boucle
         i < 3 ;

         // traitement
        [
            i = i + 1 ;
            char = Extrait ( initiale ; i ; 1 ) ;
            unicode = Code ( char ) ;
            decimal = Si ( not estvide ( char ) ; Si ( unicode < 60 ; ( unicode - 47 ) * 7 ; ( unicode - 86 ) * 7 ) ) ;
            hex = hex & Fin ( "00" & dec2hex ( decimal ) ; 2 )
         ] ;

         // sortie résultat
         hex
      )
   )
)

Il ne reste plus qu'à placer ça dans un webviewer assaisonné d'une lichette de CSS !

Il est à noter que la fonction originale et par la force des choses l'adaptation FM ci-dessus,  supporte mal les caractères accentués (renvoie des valeurs erronées) .

Il est donc préférable de les substituer…

Link to comment
Share on other sites

  • 0

Avec FM , sachant que seul les typo peu être calibrée en couleur via script ou calcul.

Un solution simple est d'utilisée une typo ( lettrage ) qui a des formes au lieu des lettres .

 

00avat.png.aad8dbaca7d4eed65113da15808b3db1.png

 

exemple la font  "ITC Zapf Dingbats" qui a un cercle a la place du L minuscule

ET avec un calcul de ce genre pour donner des valeur a la fonction" CouleurTexte"

 

00avar.png.ca4bdb4ec24178dc7e45c44eda32de9b.png

 

Voila le fichier , mais il faut la font  "ITC Zapf Dingbats"

avatarColor.fmp12

 

 

Link to comment
Share on other sites

  • 0

Si la solution WebViewer est à préférer, voici une version simple (voire simpliste au regard de celle de Clem, bien plus aboutie), juste pour alimenter le fil avec plusieurs pistes possibles :

;)

Avatars-Text-WebViewer.fmp12.zip

Link to comment
Share on other sites

  • 0

Je suis flatté par tant de solutions. Merci à vous tous. Toutes sont très intéressantes en fonction des cas.

 

Link to comment
Share on other sites

  • 0
Il y a 20 heures, Clem a dit :

Avatar.fmp12 240 Ko · 13 downloads

Bravo !

Il y a 12 heures, FredoMkb a dit :

Avatars-Text-WebViewer.fmp12.zip 78 Ko · 7 downloads

Bravo aussi !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...