简单的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));?>
有人知道这是否可能吗?
这是可能的,但不是你试图去做的方式。
首先,您必须将文字转换为图像。如何做到这一点应该是你的主要问题,你可以试试这个答案:convert text to image in php。
如果您已经有PNG图像,那么您将能够使用merge
方法。
经过一番研究之后,我发现这个线程也是如此,但是不知何故,我在运行时遇到了问题,好像是因为字体问题,我尝试了所有使用'Arial.ttf'工作的东西,就像我写的那样, 'Arial.ttf',将它移动到同一个目录,然后使用'./ Arial.ttf',或者将它移动到public目录,然后使用'/ Arial.ttf',但没有任何工作。 – nameless
你能解释一下你想做什么?一个示例图像可能?我不确定你想要什么。你想在你的QR图像?或另一件事? –
@Gerard Reches可能将图像合并到qr代码中,通常是公司图像或其他东西..我想要的是将字符串/文本(如“Samsung Galaxy S7”)转换为PNG,白色或透明的背景与文本,所以我可以然后加载到PNG代码作为图像,你知道我的意思吗? – nameless
你希望字符串本身位于QR码的前面/后面吗? –