简单QR码 - 将QR码中的文本合并/保存为png

时间:2016-12-01 07:30:50

标签: php image laravel qr-code laravel-5.3

我目前正在使用this插件在我的网站上生成QR码。这些QR码用于产品,因此在下载时是指特殊产品。

这是我用来生成它并使其能够下载的代码:

   <a href="data:image/png;base64, <?php echo base64_encode(QrCode::format('png')->size(500)->encoding('UTF-8')->errorCorrection('H')->generate('‌https://localhost/product/'.$product->id));?> "
                                           download=<?=$product->name."_QRCode";?>>
                                            <img src="data:image/png;base64, <?php echo base64_encode(QrCode::format('png')->margin(1)->size(50)->encoding('UTF-8')->errorCorrection('H')->generate('‌https://localhost/product/'.$product->id));?>">
                                        </a>

现在有了线索:像这样,有人可以下载10个QR码,但不知道这个QR码属于哪里。因此,我希望下载的QR码与字符串合并......但正如文档所说,The merge method only supports PNG at this time我想它不可能直接这样做。但是我想知道PHP中是否存在一种方式(以及我使用的Laravel,如果这会改变某些东西)从我输入的字符串中生成图像(png),所以喜欢( pseudoCode跟随):

$mergeText = $product->name;
$image = stringToPng($mergeText);
//maybe instead convert to base64 image, like the qr-code? don't know
QrCode::format('png')->size(500)->encoding('UTF-8')->errorCorrection('H')->merge($image)->generate('‌https://localhost/product/'.$product->id));?>

有人知道这是否可行?

1 个答案:

答案 0 :(得分:1)

这是可能的,但不是你想要的方式。

首先,您必须将文本转换为图像。如何做到这一点应该是您的主要问题,您可以尝试这个答案:convert text to image in php

当您已拥有PNG图像时,您将能够使用merge方法。