在delphi下生成二维码,可以使用TDelphiZXingQRCode,该开源代码地址为:https://github.com/foxitsoftware/DelphiZXingQRCode/tree/master/Source
如果下载不了可以在https://download.youkuaiyun.com/download/csaaa2005/13704055下载
使用方法:
procedure CreateQrcode(code:string;img:TImage);
var
QRCode: TDelphiZXingQRCode;
Row, Column: Integer;
begin
QRCode := TDelphiZXingQRCode.Create;
try
QRCode.Data := code;
QRCode.Encoding := TQRCodeEncoding(0); //参加例子0-5 0:auto 4: utf-8
QRCode.QuietZone := 4;//0-100 边缘空白像素值
QRCodeBitmap.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
QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack;
end else
begin
QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite;
end;
end;
end;
img.Picture.Bitmap:=(QRCodeBitmap);
finally
QRCode.Free;
end;
end;
他这个本质上是使用tbitmap画点,节省资源速度快,不浪费内存,不生成文件,建议使用。的
如果码内容类似A001这样的字符,建议encodeing选4 utf8 without BOM ,如果选0可能会生成A1这样的错误码