mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-14 12:49:25 +00:00
40 lines
764 B
ObjectPascal
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.
|