Wie ich ja weiter oben schon schrieb, wollte ich in einem Projekt eine QR-Code-Anzeige einbauen. Der Code hier funktioniert soweit einwandfrei, und die Lizenz ist sogar offiziell kompatibel zur
GPL.
Eine Anmerkung vielleicht: Ich nutze in dem Projekt
VCL-Styles, und da primär dunkle Themes. Wenn ich dort nun das TRedeemerQR-Bild einem Image zuweise, dann erkennt das mein QR-Code-Scanner nicht - dem fehlt anscheinend ein weißer (bzw. heller) Rahmen um den hier generierten QR-Code herum. Wenn ich den hinzufüge, klappt es ohne Murren.
Delphi-Quellcode:
var QR: TRedeemerQR;
QRBitmap: TBitmap;
// ...
QR.LoadFromString(AnsiString(s), ecHigh);
QRBitmap := TBitmap.Create;
try
QRBitmap.Width := QR.Width + 2;
QRBitmap.Height := QR.Height + 2;
QRBitmap.Canvas.Draw(1,1, QR);
imgQRCode.Picture.Assign(QRBitmap);
finally
QRBitmap.Free;
end;
(Ist vielleicht nicht optimal gelöst, aber bei einer Anwendung, die ohnehin 100 MB und mehr frisst, geht ein derartiges Umkopieren eines kleinen Bildchens wohl in Ordnung.)
Ein weißes TShape im Hintergrund hilft auch, oder eben das Abschalten des
VCL-Styles für diese Form bzw. den Teil der Form.
Weißt du vielleicht, ob der helle Rahmen drumherum Teil des QR-Standards ist, oder ist mein Scanner einfach Murks in der Hinsicht?
Auf jeden Fall danke dafür. Ist ein schönes Stück Code, dass sehr einfach zu verwenden ist!