我正在尝试从 google 的 php appengine创建一个图像,其中包含一些使用imagettftext php 函数呈现的文本。我必须指定一个字体文件名及其函数路径,但我不知道如何从 php 脚本访问我的静态字体目录,因为当我部署应用程序时,脚本与静态文件分开存储。
这是我的 php 脚本中的相关代码:
header("Content-type: image/png");
$image = imagecreatetruecolor($imgWidth, $imgHeight);
imagealphablending($image, false);
$transparency = imagecolorallocatealpha($image, 0, 0, 0, 127);
$black = imagecolorallocatealpha($image, 0,0,0, 0);
$font = './font/Allerta-Regular.ttf';
imagefill($image, 0, 0, $transparency);
imagesavealpha($image, true);
imagealphablending($image, true);
imagettftext($image, $fontSize, $angle, 100, 100, $black, $font, "Test text");
imagepng($image);
imagedestroy($image);
目录结构是这样的:
- root
- js
- css
- font
- img
其中 php 脚本在根文件夹中,字体文件在 font 文件夹中。
上面的代码在我的本地 PC 上工作,但当我部署到服务器时不起作用,因为 imagettftext 找不到字体并引发错误消息。使用 URL 完整路径也不起作用,因为 imagettftext 需要本地文件路径。
我也试过 $font = '/font/Allerta-Regular.ttf' (没有初始点)但没有运气。
我知道我可以使用“谷歌云存储”服务,但我不想租用它并复制文件,因为我的 js 文件也使用了这种字体。
如何在 PHP 应用程序引擎中指定字体以与 imagettftext 一起使用?
谢谢