markusfisch / BinaryEye

Yet another barcode scanner for Android
https://play.google.com/store/apps/details?id=de.markusfisch.android.binaryeye
MIT License
1.26k stars 108 forks source link

[Feature request] Recreate scanned QR code exactly / advanced generation options #397

Open LeturCZ opened 9 months ago

LeturCZ commented 9 months ago

I have noticed that the recreated QR code you see after scanning one doesn't always match with the original code. For example:

using the QR code generator on this website: https://www.thonky.com/qrcode/

A QR code generated with these options: Input text: qwerty Error correction: 15% (M) Mask pattern: 0 Version: 1 Character set: ISO-8859-1 QR1

when scanned by your app, the recreated code matches with the one generated with these options: Input text: qwerty Error correction: 15% (M) Mask pattern: 1 Version: 1 Character set: UTF-8 QR2

Would it be possible to generate these codes the same way as the original ones?

Also, assuming you will be looking into this, it would be great if the information about the QR code (encoding, mask pattern, ...) was shown when scanning a code like it already is with the error correction level and version, and if you could specify what options to use when generating new codes.

markusfisch commented 9 months ago

Hi, ZXingCpp, the barcode reading library Binary Eye is using, doesn't return the mask pattern at the moment, unfortunately.

It would support setting it for explicit QR Code generation (via QRWriter), but not through the generic interface for barcode generation, which is used in the app.

So currently this is not possible, unfortunately, but it may be in the future! I would also very much like to be able to re-generate the barcode exactly.

LeturCZ commented 9 months ago

Well, shame this can't be done right now. I suspect my issue is with the character encoding specifically, but I can't verify this right now.

Apart from this specific use-case, the app has worked well. The only other problem I noticed is the flash button not working (I suppose I should mention this in the relevant issue), but these aren't huge problems, just small inconveniences.

Thank you for the good work.