我在 codeigniter 中使用带有 composer 的 Image Workshop 插件。 http://phpimageworkshop.com/
我创建了一个助手并将其链接到我的控制器。助手创建一张身份证,然后将其展示给用户。但是,当它试图找到 jpeg 到水印时,我得到了这个错误:
文件“ http://localhost/test_files/Codeigniter/assets/images/juniorLicenceFront.png ”不存在。
如果我访问那个确切的 URL,我想重写的图像就会出现。
use PHPImageWorkshop\ImageWorkshop;
function printLicence($licence_num, $first_name, $last_name, $club, $expiry) {
$licenceFront = "juniorLicenceFront.png";
$files = base_url();
$layer = ImageWorkshop::initFromPath($files.'assets/images/'.$licenceFront);
// This is the text layer
$licenceNumLayer = ImageWorkshop::initTextLayer($licence_num, $files.'assets/Futura-Md-BT-Bold.ttf', 55, '#ea1d25', 0);
$licenceNumLayer->rotate(90);
$nameLayer = ImageWorkshop::initTextLayer("{$first_name}{$last_name}", $files.'assets/arial.ttf', 27, '333333', 0);
$clubLayer = ImageWorkshop::initTextLayer($club, $files.'assets/arial.ttf', 27, '333333', 0);
$expiryLayer = ImageWorkshop::initTextLayer($expiry, $files.'assets/arial.ttf', 27, '333333', 0);
$layer->addLayerOnTop($licenceNumLayer, 40, 60, "RT");
$layer->addLayerOnTop($nameLayer, 200, 255, "LB");
$layer->addLayerOnTop($clubLayer, 200, 198, "LB");
$layer->addLayerOnTop($expiryLayer, 200, 142, "LB");
$image = $layer->getResult();
header('Content-type: image/png');
imagepng($image);
imagepng($image, "card.png");
exit;
}
?>
一个解决方案将不胜感激我在这上面花了很多时间。