2014-03-19 2 views
0

PHP에서 동적 텍스트 이미지를 만들려고하는데 오류가 있기 때문에 이미지를 표시 할 수 없다고 말합니다. 여기 내 코드가PHP 이미지를 표시 할 수 없습니다.

<html> 
<head> 
    </head> 
    <body> 
<?php 
$width = $_POST["width"]; 
$height = $_POST["height"]; 
$text = $_POST["text"]; 
$border = $_POST["border"]; 
$cornerangle = $_POST["angle"]; 

putenv('GDFONTPATH=' . realpath('.')); 
header ('Content-Type: image/png'); 
$img = imagecreatetruecolor($width, $height); 
$font = 'verdana'; 
$font_size = 20; 
$angle = 45; 
$text_box = imagettfbbox($font_size,$angle,$font,$text); 
$text_width = $text_box[2]-$text_box[0]; 
$text_height = $text_box[3]-$text_box[1]; 
//coord text 
$x = ($image_width/2) - ($text_width/2); 
$y = ($image_height/2) - ($text_height/2); 
$textcolor = imagecolorallocate($img,255,255,255); 
imagettftext($img, $font_size, 0, $x, $y, $textcolor, $font, $text); 
imagepng($img); 
imagedestroy($img); 
?> 
</body> 
</html> 

나는 내 php 파일과 같은 폴더에있는 글꼴 파일 (verdana.ttf)을 가지고있다. 나는 $ font = 'verdana.ttf'를 시도했다. 동일한 오류가 발생했습니다.

+0

오류 메시지를 게시해야합니다. –

+0

시도해보십시오 $ font = './verdana.ttf' – Kriss

+0

오류는 " 'localhost : //test.php'에 오류가 있기 때문에 표시 할 수 없습니다."입니다. 나는 WAMP를 사용하고 있다고 언급해야하지만 phpinfo()에서 GD와 FreeType을 지원한다. imagettext 대신 imagetring을 사용하면 imagettext로 무언가가되어야합니다. – Adrian

답변

1

웹 서버에 글꼴을 설치하고 호출해야합니다.

$font = 'path/verdana.ttf'; 

나는 코드를 테스트하여 내 서버에서 정상적으로 작동합니다.

+0

그래, 내 완등에 문제가있어. 다른 서버에서 테스트 해 보았는데 제대로 작동했습니다. – Adrian

관련 문제