张小三 發表於 2020-2-7 19:13:00

使用delphi生成二维码图像

<p>由于项目需要,最近找了不少关于二维码生成的方法。有zxing,有一些dll,OCX之类的。最后在git上找到了pxQRcode这个项目。</p>
<p>下载pxQRcode.pas后使用demo中的方法,可以生成二维码,但是,手机不能识别。研究了半天,做如下改动:</p>
<p>第23行:</p>
<p>QR_DEFAULT_MASK = 2;</p>
<p>改为:</p>
<p>QR_DEFAULT_MASK = 0;&nbsp;&nbsp;</p>
<p>就可以了。</p>
<p>&nbsp;</p>
<p>我是用在打印里面的,使用的是QuickReport</p>
<p>使用方法:</p>
<p>新建一个QRimage1:TQRImage,QRLabel1:TQRLabel</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TFormPrint.FormShow(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
ms: TMemoryStream;
s2: </span><span style="color: rgba(0, 0, 255, 1)">string</span><span style="color: rgba(0, 0, 0, 1)">;
i: Integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ms :</span>= TMemoryStream.<span style="color: rgba(0, 0, 255, 1)">Create</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">

s2 :</span>=<span style="color: rgba(0, 0, 0, 1)"> QRCode;
QRLabel1.Caption:</span>=<span style="color: rgba(0, 0, 0, 1)">s2;
CreateQRCodeBMP(s2, ms, QR_ECLEVEL_H, </span><span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">);
ms.Position :</span>= <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
QRImage1.Picture.Bitmap.LoadFromStream(ms);
</span><span style="color: rgba(0, 0, 255, 1)">finally</span><span style="color: rgba(0, 0, 0, 1)">
ms.Free;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;

</span><span style="color: rgba(0, 0, 255, 1)">end</span>;</pre>
</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/csaaa/p/12274172.html
頁: [1]
查看完整版本: 使用delphi生成二维码图像