delphi 绘制二维码

Posted 伯通心智

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    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 绘制二维码的主要内容,如果未能解决你的问题,请参考以下文章

怎么用delphi生成二维码?

delphi 怎样绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件 不透明

新手提问delphi如何生成EXE文件

delphi7的fastreport5版本的二维码怎么添加多个内容?

Delphi GDI对象之绘制位图

终于懂了:Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了,跟Windows消息虽然尽量保持一致,但其实相互没有特别大的关系。有了这个,就有了主动,带不带句柄完全看需要。(代码片段