2016-07-05 121 views
1

我正在使用gd-text将数据库中的文本添加到图像。gd-text:未添加文本

这两个(图像/文字)由外部类生成。

继承人的代码:

<?php 

//Includes 
include 'gdtext/Color.php'; 
include 'gdtext/Box.php'; 

include 'class.getSlogan.php'; 
include 'class.getImage.php'; 

use GDText\Box; 
use GDText\Color; 

//Date 
$timestamp = time(); 
$date = date("d.m.Y", $timestamp); 


$slogan_txt = dailySlogan(); 
$img = dailyImage(); 

//Set Imagepath 
$imgPath = '../../images/output/1500_' .$img['imageName']; 


//Create Image 
$im = imagecreatefromjpeg($imgPath); 

//Get X/Y for Box 
$image_width = imagesx($im); 
$image_height = imagesy($im); 
$y = ($image_height/2); 
$max_x = ($image_width/2); 
$start = ($max_x/2); 


//Generate Text 
$box = new Box($im); 
$box->setFontFace('font.TTF'); 
$box->setFontSize(60); 
$box->setFontColor(new Color(255, 255, 255)); 
$box->setTextShadow(new Color(0, 0, 0, 50), 0, -2); 
$box->setBox($start, $y, $max_x, 0); 
$box->setTextAlign('center', 'center'); 
$box->draw($slogan_txt['en']); 

// header("Content-Disposition: attachment; filename=\"motivation_" . $date . ".jpg\";"); 
// header('Content-Type: image/jpeg'); 

//Save 
imagejpeg($im, 'test.jpg'); 

以下行上直接下载和注释掉了,我揣摩,为什么不加文字。没有文字添加创建

// header("Content-Disposition: attachment; filename=\"motivation_" . $date . ".jpg\";"); 
// header('Content-Type: image/jpeg'); 

的图像。 $ slogan_txt ['en']填充了正确的值。另外,x/y坐标按照它们应该计算。

服务器上的PHP或apache日志中没有错误。

我错过了什么吗?我从几个月前做过的脚本中获取代码,并且记得它运行良好。

任何帮助/提示表示赞赏!谢谢!

+0

编辑:在我的本地机器它的工作原理。在Ubuntu服务器(14.04)上没有。相同的脚本。 – Sili

回答

0

我不明白为什么,但设置从775到777“font.ttf”工作对我来说...