Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi

  Alt 27. Apr 2020, 16:53
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!
The angels have the phone box.
  Mit Zitat antworten Zitat