码迷,mamicode.com
首页 > Windows程序 > 详细

delphi 绘制二维码

时间:2017-11-25 17:33:03      阅读:674      评论:0      收藏:0      [点我收藏+]

标签:sign   const   ring   放大   ssi   ack   code   qrcode   black   

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;
    AImg.Assign(nil);
    AImg.Height := QRCode.Rows * IMG_SCALE;
    AImg.Width := QRCode.Columns * IMG_SCALE;

    AImg.Canvas.Lock;
    for Row := 0 to QRCode.Rows - 1 do
      for Column := 0 to QRCode.Columns - 1 do
      begin
        if QRCode.IsBlack[Row, Column] then
          AImg.Canvas.Brush.Color := clBlack
        else
          AImg.Canvas.Brush.Color := clWhite;

        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;

 

delphi 绘制二维码

标签:sign   const   ring   放大   ssi   ack   code   qrcode   black   

原文地址:http://www.cnblogs.com/btxz/p/7895487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!