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

Bibliothèques et frameworks PHP Discussion :

[GD] j'ai un warning lors de l'emploi de la fonction imagettftext()


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Par défaut [GD] j'ai un warning lors de l'emploi de la fonction imagettftext()
    Bonsoir,

    Je réalise un script de générateur de bannière j ai réussi a faire que deux images se fusionne, mais pour ce qui est du texte j ai cette erreur :

    Warning: imagettftext() expects parameter 6 to be long, string given in /home.10.20/construiu/www/traitement.php on line 88

    Je suppose que cela vient de la police qui ne peux être ouverte, j ai pourtant bien mis le chemin qui fallait ; j ai créer un dossier Fonts dans le quelle j ai mis toutes les polices.ttf que j ai transférer sur le serveur.

    Mes questions sont :

    Est ce bien comme ça que on fait ?
    Comment je peux faire sinon ?


    Je vous montre le code de ce que j ai fait :
    Code php : 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
    28
    29
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    	<tr>
    		<td align="center">
    	  <?php
    		//on va chercher l'image principale le fond (couche 1)
    		$Image = "".$_POST['bannierefont'].".jpeg"; //son nom.
    		$Source = "http://".$_SERVER['SERVER_NAME']."/render/"; //l'emplacement de l image.
    		$jpg=imagecreatefromjpeg($Source.$Image);
    		$size = getimagesize($Source.$Image); // $size[0] = largeur,  //  $size[1] = hauteur.
     
    		//on va chercher l'image à fusionner ( couche 2)
    		$Image2 = "".$_POST['renderfont'].".gif";
    		$Source2 = "http://".$_SERVER['SERVER_NAME']."/render/";
    		$gif=imagecreatefromgif($Source2.$Image2);
     
    		// on vas chercher le texte a insérer, la police et le non du fichier final (couche 3)
    		$texte= $_POST['textecouche3']; // texte a inséré dans l'image 
    		$nomfichier="banniere.jpg"; // nom de l'image final.
    		$qualite=100; // 0 à 100.
    		$fontpath="http://".$_SERVER['SERVER_NAME']."/Fonts/"; // chemin de la police.
    		$nompolice="".$_POST['policetexte'].".ttf"; // nom de la police.
     
    		imagecopymerge ($jpg, $gif, 0, 0, 0, 0, $size[0], $size[1], $qualite);
    		ImageTTFText($jpg, $_POST['tailletexte']*3.5, 0, 200, 35, "".$_POST['couleurpolice1']."", "".$fontpath.$nompolice."", "".$texte."");
    		ImageJPEG($jpg, $nomfichier, $qualite);//images final
    	  ?><img src="banniere.jpg" width='468' height='60'>
    		</td>
    	</tr>
    </table>

  2. #2
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    salut
    en fait, pour la couleur (6é paramétres) tu lui donnes une string alors qu'il attend un long (ou int selon la doc).
    http://no.php.net/manual/fr/function.imagettftext.php
    L'index de la couleur. Utiliser un index de couleur négatif désactivera l'antialiasing. Voir la fonction imagecolorallocate().
    tu as également un exemple sur la même page

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Par défaut
    Merci beaucoup pour ta piste, cela ma bien servie pour améliorer ce que j avais fait.

    j ai en faite modifier tout ça :
    Code php : 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
     
    ..................
    ..............
    ........
    ....
    $textcolor= "".$_POST['couleurpolice1']."";
    		putenv('GDFONTPATH=' . realpath('.'));
    		$font = ''.$_POST["policetexte"].'.ttf';
     
    		if(eregi("([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $textcolor, $textrgb)){ // on coveretie les code couleur en RGB
    		$textred = hexdec( $textrgb[1] );   $textgreen = hexdec( $textrgb[2] );   $textblue = hexdec( $textrgb[3]);
    		}
    		$fontcolor = imagecolorallocate($jpg, $textred, $textgreen, $textblue);
    		$box = @imageTTFBbox($_POST['tailletexte']*3.5, 0, $font, $texte);
    		$textwidth = abs($box[4] - $box[0]);
    		$textheight = abs($box[5] - $box[1]);
    		$xcord = ($size[0] /2)-($textwidth/2)-2;
    		$ycord = ($size[1] /2)+($textheight/2);
     
    		imagecopymerge ($jpg, $gif, 0, 0, 0, 0, $size[0], $size[1], $qualite);
    		ImageTTFText($jpg, $_POST['tailletexte']*3.5, 0, $xcord, $ycord, $fontcolor, $font, $texte);
    		ImageJPEG($jpg, $nomfichier, $qualite);//images final
    		imagedestroy($jpg);

    j ai convertie le code #ffffff en code RGB

    j ai du ensuite modifier le chemin pour la police et le mettre a la racine au lieux de dans un dossier sinon ça ne fonctionner pas.

    Bref tout fonctionne très bien, merci beaucoup

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

Discussions similaires

  1. [MySQL] Erreurs lors de l'emploi de la fonction mysql_real_escape_string
    Par ingeuls dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/06/2008, 13h37
  2. Warning lors du this passé dans un constructeur
    Par NicolasJolet dans le forum C++
    Réponses: 9
    Dernier message: 10/08/2006, 10h43
  3. JDBC warning lors de la compilation
    Par kichemans dans le forum JDBC
    Réponses: 5
    Dernier message: 27/12/2005, 16h40
  4. Warning lors la creation d'une classe
    Par addack dans le forum Langage
    Réponses: 11
    Dernier message: 02/11/2005, 13h06
  5. Warnings lors de la compilation
    Par polo54 dans le forum C
    Réponses: 5
    Dernier message: 07/02/2003, 10h12

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