DelphiZXingQRCode 库:轻松集成二维码生成功能到 Delphi 项目中

 一、下载地址:GitHub - foxitsoftware/DelphiZXingQRCode: Delphi port of QR Code functionality from ZXing, a barcode image processing library.

二、使用步骤: 

1)引用单元文件。

//引用单元
uses
   DelphiZXIngQRCode

 2)编写函数。


//生成qrcode函数
procedure GenerateQRCodeBitmap(const SourceText: string; const Encoding: TQRCodeEncoding;
  const QuietZone: Integer; const Bitmap: TBitmap);
var
  QRCode: TDelphiZXingQRCode;
  Row, Column: Integer;
begin
  QRCode := TDelphiZXingQRCode.Create;
  try
    QRCode.Data := SourceText;
    QRCode.Encoding := Encoding;
    QRCode.QuietZone := QuietZone;
    Bitmap.SetSize(QRCode.Rows, QRCode.Columns);
    for Row := 0 to QRCode.Rows - 1 do
    begin
      for Column := 0 to QRCode.Columns - 1 do
      begin
        if (QRCode.IsBlack[Row, Column]) then
        begin
          Bitmap.Canvas.Pixels[Column, Row] := clBlack;
        end else
        begin
          Bitmap.Canvas.Pixels[Column, Row] := clWhite;
        end;
      end;
    end;
  finally
    QRCode.Free;
  end;
end;

3)调用 


procedure TForm1.Button5Click(Sender: TObject);
begin
QRCodeBitmap:=TBitmap.Create;
GenerateQRCodeBitmap('http://www.example.com', TQRCodeEncoding.qrAuto, 4, QRCodeBitmap);
image1.Picture.Bitmap:=QRCodeBitmap;
QRCodeBitmap.free;
end;

三、代码解释:

该过程接受四个参数:SourceText 表示要编码成二维码的文本,Encoding 表示编码方式,QuietZone 表示安静区大小,Bitmap 是用于保存生成的二维码的 TBitmap 对象。

在过程中,我们首先创建一个 TDelphiZXingQRCode 对象,设置它的 Data、Encoding 和 QuietZone 属性。然后创建一个 TBitmap 对象,设置它的大小为 TDelphiZXingQRCode 对象的 Rows 和 Columns 属性。接下来,我们使用 for 循环遍历 TDelphiZXingQRCode 对象的 IsBlack 属性,并将相应的像素颜色设置为黑色或白色。最后,我们释放 TDelphiZXingQRCode 对象并重绘 PaintBox1。

四、效果如下:

猜你喜欢

转载自blog.csdn.net/winniezhang/article/details/132028537
今日推荐