Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Phalcon\Image\Adapter\Gd引发文本函数异常_Php_Image_Phalcon - Fatal编程技术网

Php Phalcon\Image\Adapter\Gd引发文本函数异常

Php Phalcon\Image\Adapter\Gd引发文本函数异常,php,image,phalcon,Php,Image,Phalcon,我的代码中包含以下内容: use Phalcon\Image\Adapter\GD as Image; ... $imagePath = BASE_DIR . '/public/img/map-icons/' . $client->getId() . '/' . $file; $image = new Image($imagePath); ... $fontFile = $this->getFontPath(); $image->text($te

我的代码中包含以下内容:

use Phalcon\Image\Adapter\GD as Image;
...
    $imagePath = BASE_DIR . '/public/img/map-icons/' . $client->getId() . '/' . $file;
    $image = new Image($imagePath);
...
    $fontFile = $this->getFontPath();
    $image->text($text, $x, $y, 1, '#FFFFFF', $fontSize, $fontFile);
在Phalcon 1.3.4和PHP5.4.45下工作正常,但当我将应用程序迁移到运行Phalcon版本3.4.5和PHP7.3.17的新服务器上时
$image->text($text,$x,$y,1',#FFFFFF',$fontSize,$fontFile)出现以下错误:

Project staging.api.my-domain.com raised exception class Phalcon\lmage\Exception with message "Call to imagettfbboxO failed" at gd.zep, line 357
传递给
$image->text(..)
的文本值如下:

$image->text(H, 9, 20, 1, '#FFFFFF', 11, '/var/www/vhosts/staging.api.mydomain.com/src/fonts/arialbd.ttf');
imagettfbbox ( float $size , float $angle , string $fontfile , string $text )
当我尝试PHP的imagettfbbox示例时,在这里
https://www.php.net/manual/en/function.imagettfbbox.php
该示例有效,并在白色框中显示对角线文本,因此我认为imagettfbbox没有问题。但是,php手册中为imagettfbbox显示的参数如下:

$image->text(H, 9, 20, 1, '#FFFFFF', 11, '/var/www/vhosts/staging.api.mydomain.com/src/fonts/arialbd.ttf');
imagettfbbox ( float $size , float $angle , string $fontfile , string $text )
但对于phalcon gd text(),它们是:

text (mixed $text, [mixed $offsetX], [mixed $offsetY], [mixed $opacity], [mixed $color], [mixed $size], [mixed $fontfile])

主机上的gd安装和/或字体文件一定有问题


在内部,
text()
调用PHP的。如果您创建一个简单的PHP脚本,将此方法与参数一起使用,那么您可以获得更多关于正在发生的事情的信息

您的主机上的gd安装和/或字体文件一定存在一些问题


在内部,
text()
调用PHP的。如果您创建一个简单的PHP脚本,在参数中使用此方法,您可以获得更多关于正在发生什么的信息,这是Phalcon 3.4.5中的一个bug。看见它将被修复的最低版本是4.1。

这是Phalcon 3.4.5中的一个bug。看见它的最低版本是4.1。

我建议不要使用Phalcon的GD包装器

由于使用imagecopyresized而不是imagecopyresampled,因此它在大尺寸下生成低质量图像


我发现Python/PILLOW使用起来更简单,并且产生正确的结果。

我建议不要使用Phalcon的GD包装器

由于使用imagecopyresized而不是imagecopyresampled,因此它在大尺寸下生成低质量图像


我发现Python/PILLOW使用起来简单得多,并且产生了正确的结果。

谢谢@NikolaosDimopoulos,我已经更新了我的问题,包括了您建议的测试,php imagettfbbox似乎工作正常。谢谢@NikolaosDimopoulos,我已经更新了我的问题,以包括您建议的测试,php imagettfbbox似乎工作正常。