【发布时间】:2016-03-30 12:28:00
【问题描述】:
我正在努力在一个基于 PHP 的项目上实现 WideImage 插件。
现在,我们可以上传图片(上传到基于会话 ID 的临时文件夹),但图片上没有文字。我在他们的网站上基于this example 工作(减去阴影效果),但它似乎没有做任何事情。当我转到目标文件夹并查看上传的图像时,没有任何变化。
这里是sn-p的代码;有什么突出的错误吗?我最近添加了setFont 行,但这似乎没有什么不同。
require("upload.php");
$userImagePath = $userFolderPath . $_FILES["fileToUpload"]["name"];
$newImagePath = null;
$image = WideImage::loadFromFile($userImagePath);
$canvas = $image->getCanvas();
$canvas->setFont('resources/assets/NOVABOLD.otf');
$canvas->useFont('resources/assets/NOVABOLD.otf', 20, $image->allocateColor(255, 255, 255));
$canvas->writeText('center', 'top', 'I am ');
当我使用echo $userImagePath 时,它确实给了我一个工作文件路径。
我也尝试过使用 fileFromUpload 选项,但即使我从 HTML 表单中提供了文件字段的名称,它也不会将其识别为上传。
【问题讨论】:
-
您正在保存文件吗?查看您的链接最后一行应该是
$image->saveToFile('image-with-text.jpg');以保存带有文本的新图像 -
@MichaelWalton 谢谢,这是一个简单的遗漏。但是,我的分支似乎根本不接受图像并上传它:(此处错误输出:pastebin.com/7dFk5YH8
-
具体来说,它似乎是在创建随机生成的文件夹,但在上传时不再在里面留下任何图像。当 WideImage 功能被移除时,它可以工作。