2010-12-07 47 views
0

我試着用php imagick寫一些文字到圖像。 它在我的服務器上運行正常,但是在我的Macbook上運行它時出現問題。PHP imagick註釋setFont超過最大執行時間

的代碼:

/* 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; 

當我在我的MacBook運行此,處理器卡在100%,並且該過程在30秒與消息殺死:超過30秒的最大執行時間在第13行,這是$ draw-> setFont();

謝謝您的答覆...

+0

是圖片的版本magick的在你的服務器和你的MacBook上是一樣的嗎? – 2010-12-07 21:44:12

+0

Macbook模塊ver:3.0.1,im ver:6.5.7-0,服務器模塊:2.1.1-rc1,im:6.3.7 – Kukosk 2010-12-07 21:47:57

回答

0

猜測:宋體是不是您的系統上或提供的字體的完整路徑setFont()

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