zoukankan      html  css  js  c++  java
  • delphi 绘制二维码

    uses
       vcl.Graphics, DelphiZXingQRCode;
    
    procedure CreateQRCode(AImg: vcl.Graphics.TBitMap; const ACode: String);
    const
      IMG_SCALE = 25; //放大倍数
    var
      QRCode: TDelphiZXingQRCode;
      Row, Column: Integer;
    begin
      if (AImg = nil) or (Trim(ACode) = '') then Exit;
    
      QRCode := TDelphiZXingQRCode.Create;
      try
        QRCode.Data := ACode;
        QRCode.Encoding := TQRCodeEncoding(qrUTF8BOM);
        QRCode.QuietZone := 1;
        QRCode.Data := ACode;
    
        AImg.Height := QRCode.Rows * IMG_SCALE;
        AImg.Width := QRCode.Columns * IMG_SCALE;
    
        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 * IMG_SCALE,  Row * IMG_SCALE,
                Column * IMG_SCALE + IMG_SCALE, Row * IMG_SCALE + IMG_SCALE));
            end;
        AImg.Canvas.Unlock;
      finally
        QRCode.Free;
      end;
    end;
  • 相关阅读:
    [公告] 置顶博客一览
    [公告] 关于花
    【题解】[SNOI2019] 纸牌
    [题解向] PAM简单习题
    [题解向] 带悔贪心泛做
    [题解向] Manacher简单习题
    java记录(2)
    java记录(1)
    js垃圾回收的机制
    盒子的计算
  • 原文地址:https://www.cnblogs.com/btxz/p/7895487.html
Copyright © 2011-2022 走看看