我正在寻找这个问题的答案。 我找到的所有解决方案都围绕着字体名称,但我很确定这不是我的问题。
看起来已安装GD
array(11) {
["GD Version"]=>
string(27) "bundled (**2.0.34 compatible**)"
["FreeType Support"]=>
bool(false)
["T1Lib Support"]=>
bool(false)
["GIF Read Support"]=>
bool(true)
["GIF Create Support"]=>
bool(true)
["JPEG Support"]=>
bool(true)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XPM Support"]=>
bool(true)
["XBM Support"]=>
bool(true)
["JIS-mapped Japanese Font Support"]=>
bool(false)
}
上面你可以看到我的GD支持。 我的PHP版本是5.3,我在Linux上运行。
我尝试过来自不同网站的几个不同的代码示例,但都没有。 ImageString对我有用,但我需要 imagettftext 才能工作..
这是我现在尝试的最后一个代码 -
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// Set the content-type
header('Content-Type: image/png');
// Create the image
$im = imagecreatetruecolor(400, 100) or die("Can't create image!");
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = 'Testing';
// Replace path by your own font path
$font = 'arial.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, 'arial.ttf', $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, 'arial.ttf', $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
答案 0 :(得分:18)
出现同样的问题,安装了FreeType,解决方案是
$font = "./Arial.ttf"; // <--- put ./ in front of filename
答案 1 :(得分:7)
请注意,您没有安装自由类型:
["FreeType Support"]=>
bool(false)
此功能需要GD库和»FreeType库。
在使用此功能之前,您需要安装Free Type库。
尝试安装这些软件包:s freetype,freetype-devel
如果编译PHP,可以确保在编译期间添加了启用的freetype:
--with-freetype-dir=/usr/include/freetype2/ --with-freetype
或者如果您使用YUM或APT-GET之类的东西,那么安装这些库应该非常简单,并且谷歌快速搜索可以帮助您入门。
答案 2 :(得分:3)
我也遇到了问题
$font='arial.tff';
我认为您应该提供 $ font 的绝对路径,例如
$font="c:/windows/fonts/arial.ttf";
我假设你是一个Windows用户。 和删除
header('Content-Type:image/png');
获取真正的错误
答案 3 :(得分:0)
Andrew是对的,php manual for imagettftext状态FreeType需要使用imagettftext
,imagettfbox
和其他人。 GD devel包的大多数人都会自动安装FreeType:
的Fedora /红帽:
yum install gd gd-devel php-gd
Debian / Ubuntu:
apt-get install php5-gd libgd2-xpm libgd2-xpm-dev
此错误可能在您的日志中:
PHP Fatal error: Call to undefined function imageTTFText()
答案 4 :(得分:0)
我通过以下解决方案解决了这个问题:
{{1}}