2010-12-07 5 views
0

Im php imagick을 사용하여 이미지에 텍스트를 쓰려고합니다. 그것은 내 서버에서 정상적으로 실행되지만 내 맥북에서 실행하는 데 문제가 있습니다.PHP imagick annotate 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; 

는, 프로세서가 100 %에 걸리면, 그 과정이 메시지와 함께 30 초 살해 : 초과 30 초 최대 실행 시간 13 번 줄에서 $ draw-> setFont();

는 ... 답변 주셔서 감사합니다

+0

에 글꼴에 대한 전체 경로를 제공 귀하의 서버와 맥북에서 동일합니까? –

+0

맥북 모듈 버전 : 3.0.1, im 버전 : 6.5.7-0, 서버 모듈 : 2.1.1-rc1, im : 6.3.7 – Kukosk

답변

0

추측 : 굴림은 시스템에서 사용할 수 없거나 이미지의 버전이를 마법 (magick) 있습니까 setFont()

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

나는 이미 그것을 시도했다. 정확히 동일합니까? – Kukosk

+0

Arial 이외의 다른 글꼴을 사용해 보셨습니까? Arial.ttf는 서버의 TTF 파일 또는 Mac 용 기본 시스템 글꼴의 사본입니까? –

+0

그래, 나는 다른 글꼴도 시도했는데 기본 글꼴이지만, macports를 업데이트 한 다음 모든 패키지가 pecl을 통해 imagick을 다시 설치했다. 이제는 매력처럼 작동한다. 유일한 질문은, 이 서버를 업데이트하는 쉬운 방법이 없기 때문에 서버에 rc1 및 6.3.7을 설치해도됩니다 ... debian lenny aptitude의 최신 패키지입니다 ... – Kukosk

관련 문제