N'arrive pas à lire la police.

didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007 - 14 juil. 2004 à 09:32
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007 - 14 juil. 2004 à 19:21
Bonjour!
Voilà ma source (prise de phpfrance.com):

<?
Header("Content-type: image/png");
$size=$_GET['size'];
$text = $_GET['text'];
$font = ".\arial.ttf";
// on obtient la grandeur du texte
$box = imagettfbbox($size,0,$font,$text);
$dx = abs($box[2]-$box[0]);
$dy = abs($box[5]-$box[3]);
$xpad=9;
$ypad=9;
// crée l'image avec ses coordonnées
$im = imagecreate($dx+$xpad,$dy+$ypad);
// création des différentes couleurs
$blue = ImageColorAllocate($im, 0x2c,0x6D,0xAF);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
// dessin d'un rectangle
ImageRectangle($im,0,0,$dx+$xpad-1,$dy+$ypad-1,$black);
ImageRectangle($im,0,0,$dx+$xpad,$dy+$ypad,$white);
//on écrit le texte
ImageTTFText($im, $size, 0, (int)($xpad/2)+1, $dy+(int)($ypad/2), $black, $font, $text);
ImageTTFText($im, $size, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $white, $font, $text);
// création finale en png
ImagePNG($im);
// destruction de la ressource
ImageDestroy($im);
?>

Le problème est qu'il ne trouve pas la police alors que je l'ai copié dans le rep de mon .cpp
Tout fonctionne si je fais, par exemple:
$font = "c:\windows\fonts\arial.ttf";
Mais bon, c'est pas top du tout.
Quelqu'un a une idée?
Merci

17 réponses

winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 09:42
Oui c'est simple tu as fais une erreur de syntaxe, c'est pas
$font = ".\arial.ttf";

mais
$font = "./arial.ttf";


Bonne prog ;)

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 10:33
de même, j'ai déjà essayé cela et ça fonctionne pas non plus :-(
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 11:07
J'ai éssayé chez moi et ça marche ... peut-être que tu as mal configuré ton serveur pour qu'il puisse créer des images?

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 14:47
J'ai installé gd et il affiche correctemetn les images puisque tout fonctionne si je fais $font = "c:\windows\fonts\arial.ttf"; .. le problème est donc dans la reconnaissance de la police . et je ne vois pas quoi configurer.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 15:15
C'est bizar ... enfin moi je travaille avec php5 c'est peut-etre ça ...

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 16:16
Je sais pas, je travaille avec php 4.3.3 (version de easyphp 1.7) ...
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 16:35
éssai de mettre le chemin complet (SCRIPT_FILENAME)

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 16:41
euh, tu peux me donner un exemple de commande pour y parvenir stp?
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 16:41
euh, tu peux me donner un exemple de commande pour y parvenir stp?
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 16:54
en gros
$font = dirname($_SERVER["SCRIPT_FILENAME"])."/arial.ttf";


win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 17:00
toujours pas, et je ne comprends pas car si je fais:
echo dirname($_SERVER["SCRIPT_FILENAME"])."/arial.ttf";
J'obtiens bien:
C:/program files/easyphp1-7/www/phptest/arial.ttf
Ce qui est bien le chemin vers arial.ttf qui est ici présent !!!!
C'est à devenir fou...
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 17:22
Ouais et bien je sais pas alors c'est vraiment bizzare....
éssai sur un autre serveur ...
enfin moi je sais plus quoi dire lol ...

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 18:48
apparemment, même un chemin absolu ne fonctionne pas:
$font = "C:\Program Files\EasyPHP1-7\www\phptest\arial.ttf";
ne fonctionne pas alors que
$font = "C:\WINDOWS\fonts\arial.ttf";
fonctionne !!!!
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 18:59
peut etre qu'il faut un chemin sans espaces ...

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 19:08
apparemment, le problème vient de là:
$font = 'C:\temp\arial.ttf';
fonctionne. Mais comment je peux tester alors? vu que je suis obligé de mettre mes fichiers pour tester dans le rep www de easyphp?
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
14 juil. 2004 à 19:17
il faut mettre le chemin au format dos à mon avis genre
C:\PROGRA~1\EasyPHP1-7\www\phptest\arial.ttf

win
0
didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007
14 juil. 2004 à 19:21
non, j'avais déjà essayé le chemin dos... mais je préférerai garder le chemin relatif (bien sûr, pour lorsque je l'uploaderai sur le serveur, je n'ai rien à modifier)..
Autre chose étrange:
$font = 'C:\temp\arial.ttf'; fonctionne comme dit précédemment alors que

define(cste,'C:\temp');
$font = cste.'\arial.ttf';
ne marche pas alors qu'un echo affiche bien C:\temp\arial.ttf !!! je pense que les 2 pbs sont liés, non?
0
Rejoignez-nous