[ERLEDIGT]QR Code in Text umwandeln?
-
- Beiträge: 728
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
[ERLEDIGT]QR Code in Text umwandeln?
Kennt jemand fertige Funktion oder Bibliothek, mit dem man ein Bild mit QR Code wieder in Text umwandeln kann?
Zuletzt geändert von Soner am Mo 13. Dez 2021, 23:29, insgesamt 1-mal geändert.
-
- Beiträge: 582
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.8
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: QR Code in Text umwandeln?
Eventuell das hier: https://github.com/LongDirtyAnimAlf/ZXing.Delphi
und da speziell das: https://github.com/LongDirtyAnimAlf/ZXi ... .0/Lazarus
Oder das: http://lacak.users.sourceforge.net/freepascal.html -> "quirc - QR decoder library", als Download in Pascal
und da speziell das: https://github.com/LongDirtyAnimAlf/ZXi ... .0/Lazarus
Oder das: http://lacak.users.sourceforge.net/freepascal.html -> "quirc - QR decoder library", als Download in Pascal
LG Maik
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
-
- Beiträge: 728
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: QR Code in Text umwandeln?
Vielen Dank. Ich gucke mir sie an.
Edit: Lacak's quirc ist gut.
Edit: Lacak's quirc ist gut.
Re: QR Code in Text umwandeln?
Funzt. Benötigt aber auf Linux eine kleine Anpassung bei der Demo:
Code: Alles auswählen
uses ... IntfGraphics;
procedure BitmapToQuircImage(dst: pbyte);
var
y, x: integer;
c4: DWord;
src: pbyte;
SrcIntfImg: TLazIntfImage;
BytePerPixel: Byte;
begin
SrcIntfImg := TLazIntfImage.Create(0, 0);
try
SrcIntfImg.LoadFromBitmap(Image1.Picture.Bitmap.Handle,
Image1.Picture.Bitmap.MaskHandle);
BytePerPixel := SrcIntfImg.DataDescription.BitsPerPixel div 8;
for y := 0 to SrcIntfImg.Height - 1 do
begin
src := SrcIntfImg.GetDataLineStart(y);
for x := 0 to SrcIntfImg.Width - 1 do
begin
c4 := PDWord(src)^ and $FFFFFF;
// 77(R) + 151(G) + 28(B) = 256
dst^ := ((c4 shr 16) * 77 + ((c4 shr 8) and $FF) * 151 + (c4 and $FF) * 28) shr 8;
Inc(src, BytePerPixel);
Inc(dst);
end;
end;
finally
SrcIntfImg.Free;
end;
end;