简单的QR码 - 在QR码中合并文本/保存数字为PNG

问题描述:

我正在使用this插件在我的网站上生成QR码。这些QR码用于产品,因此在下载时指的是特殊产品。简单的QR码 - 在QR码中合并文本/保存数字为PNG

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

<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码与一个字符串合并...但是,正如文档所说,我猜这是不可能直接做到这一点的。但我想知道是否有一种方法在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));?> 

有人知道这是否可能吗?

+0

你能解释一下你想做什么?一个示例图像可能?我不确定你想要什么。你想在你的QR图像?或另一件事? –

+0

@Gerard Reches可能将图像合并到qr代码中,通常是公司图像或其他东西..我想要的是将字符串/文本(如“Samsung Galaxy S7”)转换为PNG,白色或透明的背景与文本,所以我可以然后加载到PNG代码作为图像,你知道我的意思吗? – nameless

+0

你希望字符串本身位于QR码的前面/后面吗? –

这是可能的,但不是你试图去做的方式。

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

如果您已经有PNG图像,那么您将能够使用merge方法。

+0

经过一番研究之后,我发现这个线程也是如此,但是不知何故,我在运行时遇到了问题,好像是因为字体问题,我尝试了所有使用'Arial.ttf'工作的东西,就像我写的那样, 'Arial.ttf',将它移动到同一个目录,然后使用'./ Arial.ttf',或者将它移动到public目录,然后使用'/ Arial.ttf',但没有任何工作。 – nameless