基本信息
源码名称:二维码生成源码
源码大小:1.10M
文件格式:.zip
开发语言:Pascal
更新时间:2021-07-01
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 4 元 
   源码介绍

    本源代码用于生成二维码


procedure CreateQRCode(AImg: TBitMap; const ACode: String; Size: Integer);
var
  QRCode: TZXingQRCodeLi;
  Row, Column: Integer;
  intScale: Integer;
begin
  if (AImg = nil) or (Trim(ACode) = '') then Exit;

  QRCode := TZXingQRCodeLi.Create(nil);
  try
    QRCode.Code := ACode;
    QRCode.Encoding := TQRCodeEncoding(qrUTF8BOM);
    QRCode.QuietZone := 1;
    QRCode.Code := ACode;

    intScale := AImg.Height div QRCode.Rows;
//    AImg.Height := QRCode.Rows * IMG_SCALE;
//    AImg.Width := QRCode.Columns * IMG_SCALE;
    AImg.Width := Size;
    AImg.Height := Size;

    AImg.Canvas.Lock;
    AImg.Canvas.Brush.Color := clWhite;
    AImg.Canvas.FillRect(Rect(0, 0, AImg.Width, AImg.Height));
    AImg.Canvas.Brush.Color := clBlack;
    for Row := 0 to QRCode.Rows - 1 do
      for Column := 0 to QRCode.Columns - 1 do
        if QRCode.IsBlack[Row, Column] then
        begin
          AImg.Canvas.FillRect(Rect(Column * intScale,  Row * intScale,
            Column * intScale intScale, Row * intScale intScale));
        end;
    AImg.Canvas.Unlock;
  finally
    QRCode.Free;
  end;
end;