2014-10-27 68 views
0

我正在尝试在图像上写入文本。它可以在本地系统上正常工作,但是当我将它上传到活动服务器时它不起作用。 我的代码是脚本在本地运行,但不在运行

 $imgPath = base_url() . "public/images/mix/theatre.jpg"; 
     $jpg_image = imagecreatefromjpeg($imgPath); 

     // Allocate A Color For The Text 
     $color = imagecolorallocate($jpg_image, 102, 20, 99); 

     // Set Path to Font File 
     $font_path = FCPATH . "public/fonts/Myriad Pro.TTF"; 
     //echo $font_path = base_url()."/public/fonts/Myriad Pro.TTF"; 
     // Set Text to Be Printed On Image 
     $text = "NOW SHOWING"; 

     // Print Text On Image 

     $imagettf = imagettftext($jpg_image, 16, 0, 57, 140, $color, $font_path, $text); 
     $savedImage = imagejpeg($jpg_image, $saveToPath); 
     var_dump($savedImage); 

它给了我这是我从$imgPath复制相同的图像,文本没有写在上面

+0

什么是被倾销的结果呢? – 2014-10-27 20:40:35

回答

0

您可以使用此代码

<?php 
header('Content-type: image/png'); 
$im = imagecreatefromjpeg('includes/dir/something.jpg'); 
$black = imagecolorallocate($im, 0, 0, 0); 
$text=strtolower("NOW SHOW"); 
$font = 'includes/dir/some.TTF'; 
imagettftext($im, 25, 0, 15, 33, $black, $font, $text); 
imagepng($im); 
imagedestroy($im); 
?> 

其对我来说工作

0

你确定你的字体是在偏远可用?此外,它似乎你缺少的斜线:

$font_path = FCPATH . "public/fonts/Myriad Pro.TTF"; 
         ^^^^ 
+0

是字体在那里可用,还有一件事。我是否必须将斜杠更改为linux的后退? – baig772 2014-10-27 20:39:55

+0

根据FCPATH,它应该是:“/ public/fonts/Myriad Pro.TTF”注意第一个斜杠 – dynamic 2014-10-27 20:40:38

+0

'echo FCPATH'在我的Windows系统中返回结束斜线的路径。 – baig772 2014-10-27 20:41:57

相关问题