spiegel-keyman/developer/src/tike/main/Keyman.System.QRCode.pas

40 lines
764 B
ObjectPascal

unit Keyman.System.QRCode;
interface
uses
DelphiZXingQRCode,
Vcl.Graphics;
procedure DrawQRCode(const text: string; b: TBitmap);
implementation
procedure DrawQRCode(const text: string; b: TBitmap);
var
QRCode: TDelphiZXingQRCode;
Row, Column: Integer;
begin
QRCode := TDelphiZXingQRCode.Create;
try
QRCode.Data := text;
b.SetSize(QRCode.Rows, QRCode.Columns);
for Row := 0 to QRCode.Rows - 1 do
begin
for Column := 0 to QRCode.Columns - 1 do
begin
if (QRCode.IsBlack[Row, Column]) then
begin
b.Canvas.Pixels[Column, Row] := clBlack;
end else
begin
b.Canvas.Pixels[Column, Row] := clWhite;
end;
end;
end;
finally
QRCode.Free;
end;
end;
end.