php - Phalcon\Image\Adapter\Gd 为文本函数抛出异常
问题描述
我的代码中有以下内容:
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 和 php 5.4.45 下它工作正常,但是当我将应用程序迁移到运行 Phalcon 版本 3.4.5 和 php 7.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');
当我尝试此处页面上给出的 PHP 的 imagettfbbox 示例时,https://www.php.net/manual/en/function.imagettfbbox.php
该示例有效并在白框中显示对角线文本,因此我认为 imagettfbbox 没有问题。但是,php手册中针对imagettfbbox显示的参数如下:
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])
解决方案
这是 Phalcon 3.4.5 中的一个错误。请参阅https://github.com/phalcon/cphalcon/issues/15188。它将被修复的最低版本是 4.1。
推荐阅读
- python - 用字典中的冲突键替换字符串中的符号
- c++ - 结构的 C++ 向量,读取访问冲突
- python - 在for循环时在Flask-Jinja2中编码为utf-8二进制数据
- list - 使用动画切换器,它们存储在列表中
- django - 在 Geodjango 模型的传单地图中显示多边形
- database - 在 oracle 中创建同义词是否会自动授予对基础表的选择访问权限
- python - 从终端 pycharm 和 VS 和 VScode 运行 python 特定行
- django - Django Listview 分页;页面已正确分页,但 page_obj 在模板中不起作用
- php - parrot linux xampp PHP错误:没有显示
- matlab - 获取每列中第一次出现 1 的行号