IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Générer une image pile de la taille d'un texte


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut Générer une image pile de la taille d'un texte
    Bonjour à tous,

    J'ai cherché sur la toile, et je n'ai pas vu de fonction qui permette de générer une image pile de la taille d'un texte (avec GD).
    Une telle fonction existe-t-elle ou est-on obligé de passer par un subterfuge (créer une grosse image virtuelle pour attrapper la coordonnée max puis copier vers une nouvelle image de la bonne taille)?
    Si ce n'est pas possible, quelqu'un a-t-il un code disponible utilisant une méthode de variantement?

    Merci

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Avec imageftbbox peut être ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    oui mais il y a cette histoire de police spéciale qui me gêne un peu...

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Je l'utilise avec de l'arial sans aucun soucis
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    et sinon t'as penser à l'inverse? adapter le texte en fonction de la taille de l'image?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  6. #6
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Bien vu mais le souci c'est qu'il s'agit d'un titre qui peut s'afficher en trois langues différentes, du coup la longueur varie selon la variable.
    Mais je vais creuser avec la première fonction.

    Sinon Vilcoyote, pour ça j'ai vu un site intéressant: www.sifrgenerator.com

  7. #7
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par grunk Voir le message
    Je l'utilise avec de l'arial sans aucun soucis
    moi c'est avec "Consolas" que j'aimerais bosser. Je poste ma fonction dès que j'ai trouvé, à moins que quelqu'un trouve avant.

  8. #8
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Ca y est!
    La réponse venait avec la découverte de la fonction "imagettfbbox", travaillant avec des polices truetype et non post script...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?p
    $font = "consola.ttf"; 
     
    $box = imagettfbbox ($size, 0, $font, $text);
    $tW = $box[2] - $box[0];
    $tH= $box[3]-$box[5];
     
    $margex = 5;
    $margey = 10;
     
    $width = $tW+$margex;
    $height= $tH+$margey;
    $textx = ($margex-2)/2;
    $texty = $height - $margey;
     
    $img = imagecreatetruecolor($width,$height);
     
    $blanc = imagecolorallocate($img,255,255,255);
    $noir = imagecolorallocate($img,0,0,0);
    imagefill($img,0,0,$blanc); 
    imagettftext($img, $size, 0, $textx, $texty, $noir, $font, $text);
     
    header("Content-type: image/png");
    imagepng($img);
    imagedestroy($img);
    ?>
    J'appelle la fonction avec $text et $size en arguments. En espérant que ça serve. Petit bug cependant, mais bon je n'ai pas eu le temps de rechercher la formule de math qui marche, c'est que le texte est écrit à partir de bord inférieur gauche, et si on commence par une lettre qui n'a pas de queue ("a" par exemple), et que dans le texte il y a une lettre avec une queue ("j" par exemple), le texte n'est pas centré dans l'image, et une partie de la queue est mangée, à moins d'agrandir la marge en Y....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 15/05/2006, 16h34
  2. Réponses: 3
    Dernier message: 02/12/2005, 13h23
  3. Comment générer une image dynamiquement ?
    Par K20 dans le forum Langage
    Réponses: 12
    Dernier message: 19/11/2005, 01h27
  4. [ImageMagick] Générer une image à partir de plusieurs images ?
    Par fichtre! dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 16/02/2005, 15h32
  5. [ImageMagick] Comment générer une image d'un code à entrer ?
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 16/01/2005, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo