TransparantQR

From RevSpace
Revision as of 21:07, 27 April 2022 by Cmpxchg (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Project TransparantQR
QrTest2.png
Transparant QR code
Status Completed
Contact cmpxchg
Last Update 2022-04-27

Origin

Based on an idea of Zack Freedman twitter link

Improvement

Make it work with a full-color moving video in the back.

  • Use same large markers
  • Make them a little more transparent (25%)
  • With contrast of the large markers, reader will construct lines along which the blocks are sample
  • Reduce size of blocks to about 1/9th of original blocksize
  • Make everything around the block transparent
  • Result: working transparent QR code!

Does not work on all readers, zbarimg fails on the PNG, but could be due to PNG alpha channel interpreted in the wrong way.

Resulting code distribution

It is a patch to GPL code, so modified source must be published. For convenience, patch file is encoded in QR as well. Commit message redacted and reduced, xz compression, and it fits!

Sourcecode patch to libqrencode: (xz compressed patchfile)

patch

Additional changes: Reduce location_ishiconstrast() remove the line 6 tests for even more area, seems to be allowed on most phone-based QR readers.

User interface

qrencode -o out.png -T insertyoururlorotherdatahere

will output a PNG32 file out.png

Building

building yourself: git clone https://git.sr.ht/~cmpxchgable/libqrencode and follow same instructions as original

Sample image

Below transparent, PNG32 format file can be overlayed on any graphic and redirects to http://revspace.nl/

RevspaceTransparentQRLink