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;
  • 相关阅读:
    discuz开发笔记
    响应式布局
    timedelta
    图片轮播
    性能
    事件捕获
    git
    css hacks
    AFNetworking 网络错误提示data转换字符串
    常见HTTP错误代码
  • 原文地址:https://www.cnblogs.com/btxz/p/7895487.html
Copyright © 2011-2022 走看看