menu image css

menu image css - HTML/CSS - Programmation

Marsh Posté le 10-06-2005 à 17:34:40    

Bonjour a tous,
 
Voila j'aimerai mettre le menu de mon site (optimisé pour IE car police perso non compatible Firefox...)avec des images.
 
Puis je optenir exactement le meme resultat ??
 
http://www.apoilleux.com
 
Merci a tous

Reply

Marsh Posté le 10-06-2005 à 17:34:40   

Reply

Marsh Posté le 10-06-2005 à 17:39:31    

Tu peux generer des images avec du texte en specifiant couleur et fichier de police (dont le format ttf) en PHP grace a la librairie GD.

Reply

Marsh Posté le 10-06-2005 à 17:46:41    

Euuuh la tu me parle un chouilla chinois...tu aurai un lien m'expliquan tout ça en detail ??
 
merci

Reply

Marsh Posté le 11-06-2005 à 02:51:06    

PHP te permet de creer des images a la volée.
Exemple concré :

Code :
  1. <img src="script/bouton.php?texte=portrait"  />
  2. <img src="script/bouton.php?texte=urbain"    />
  3. <img src="script/bouton.php?texte=indefini"  />
  4. <img src="script/bouton.php?texte=reportage" />
  5. ...


Ici le script bouton.php va creer une image contenant le texte "portrait" (dans le cas de la premiere image)
 
Pour cela le script bouton.php doit utiliser les fonctions de la bibliotheques GD. Dedans ce script tu pourras specifier la taille de l'image, y ecrire du texte en specifiant la couleur et le fichier de police que tu souhaites utiliser pour cela.
 
Un exemple rapide que tu pourras analyser si tu connais un peu PHP : http://www.php.net/manual/fr/ref.image.php

Code :
  1. <?
  2. header("Content-type: image/png" );
  3. $text = $_GET['texte'];      // on recupere le texte a afficher
  4. $size = 13;                  // on definit la taille du texte
  5. $font = "font/mapolice.ttf"; // on definit le fichier de police a utiliser
  6. // On calcule les dimensions necessaires pour construire l'image contenant le texte
  7. // désinné avec la police et la taille speicifiée
  8. list($bgx , $bgy , $bdx , $bdy , $hdx , $hdy , $hgx , $hgy) = imagettfbbox($size , 0 , $font , $text);
  9. $width  = abs($bgx - $bdx);
  10. $height = abs($bgy - $hgy);
  11. // On instancie l'image a créer
  12. $im        = imagecreatetruecolor($width , $height);
  13. $bgcolor   = imagecolorallocate($im , 0xbb , 0xbb , 0xff);
  14. $fontcolor = imagecolorallocate($im , 0x77 , 0x77 , 0xbb);
  15. // couleur de fond
  16. imagefill($im , 0 , 0 , $bgcolor);
  17. // dessin du texte
  18. imagettftext($im , $size , 0 , 0 , $height , $fontcolor , $font , $text);
  19. // envoi des données au navigateurs et destructions des ressources.
  20. imagepng($im);
  21. imagedestroy($im);
  22. ?>


 
C'est juste une idee ... si le PHP te rebutte ... tu peux tres bien de frapper le dessin de tes boutons avec un logiciel de dessin :p

Reply

Marsh Posté le 11-06-2005 à 03:08:26    

Euh, GD, c'est super, mais enfin, bouffer de la ressource gratos de serveur pour un menu, c'est quand même une idée fichetrement farfelue.

Reply

Marsh Posté le 11-06-2005 à 03:12:07    

Laisse tomber pour la GD.
Fait tes petits boutons avec PAINT, ce sera grandement mieux.
 
PS : Paint est un minimum, on ne peux pas dire que ce soit le top a moins que tu aimes faire du pixel par pixel :p

Reply

Marsh Posté le 11-06-2005 à 03:12:38    

C'est pas faux :D
Mais bon ... s'il peut se le permettre ^^ a lui de voir ;)
De toute facon il n'a pas l'air de connaitre PHP donc il ne va pas opter pour cette solution.

Reply

Marsh Posté le 11-06-2005 à 03:23:18    

afbilou a écrit :

C'est pas faux :D
Mais bon ... s'il peut se le permettre ^^ a lui de voir ;)
De toute facon il n'a pas l'air de connaitre PHP donc il ne va pas opter pour cette solution.


Ton idée n'est pas mauvaise, moi je l'utilise en local pour me créer des Gifs que j'upload après, mais il m'a fallu pas mal de mois de PHP pour arriver à rendre ça intéressant par rapport à un dessin des boutons à la mano, donc bon. :D


Message édité par The-Shadow le 11-06-2005 à 03:23:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed