2010-12-07 5 views
0

Im tryin pour écrire un texte à une image en utilisant php imagick. Cela fonctionne bien sur mon serveur, mais j'ai un problème pour l'exécuter sur mon macbook.PHP imagick annoter setFont dépasse le temps d'exécution max

le code:

/* Text to write */ 
$text = "Hello World!"; 

/* Create Imagick objects */ 
$image = new Imagick(); 
$draw = new ImagickDraw(); 
$color = new ImagickPixel('#000000'); 
$background = new ImagickPixel('none'); // Transparent 

/* Font properties */ 
$draw->setFont('Arial'); 
$draw->setFontSize(50); 
$draw->setFillColor($color); 
$draw->setStrokeAntialias(true); 
$draw->setTextAntialias(true); 

/* Get font metrics */ 
$metrics = $image->queryFontMetrics($draw, $text); 

/* Create text */ 
$draw->annotation(0, $metrics['ascender'], $text); 

/* Create image */ 
$image->newImage($metrics['textWidth'], $metrics['textHeight'], $background); 
$image->setImageFormat('png'); 
$image->drawImage($draw); 

/* Save image */ 
header("Content-type: image/png"); 
echo $image; 

Quand je cours sur mon macbook, le processeur se coince à 100%, et le processus est tué en 30 secondes avec le message: le temps d'exécution maximum de 30 secondes dépassé dans ..... sur la ligne 13, qui est celle avec $ draw-> setFont();

Merci pour vos réponses ...

+0

sont les versions de l'image Magick la même chose sur votre serveur et sur votre macbook? –

+0

Module ver macbook: 3.0.1, im ver: 6.5.7-0, le module serveur: 2.1.1-rc1, im: 6.3.7 – Kukosk

Répondre

0

Devinez: Arial est pas disponible sur votre système ou fournir un chemin complet pour la police à setFont()

$draw->setFont('/path/to/ARIALB.ttf'); 
+0

J'ai allready essayé. Fait exactement la même chose ... – Kukosk

+0

Avez-vous essayé une autre police que Arial? Arial.ttf est-il une copie du fichier TTF du serveur ou de la police système par défaut pour mac? –

+0

Oui, j'ai essayé aussi une autre police, et il était la valeur par défaut, mais je macports mis à jour, puis tous les paquets, imagick réinstallées via PECL, et cela fonctionne comme un charme :) maintenant les seules questions est, si elle est bien d'avoir la RC1, et 6.3.7 sur le serveur, parce qu'il n'y a pas de moyen facile de mettre à jour ce ... c'est le dernier paquet dans l'aptitude debian etch ... – Kukosk