QR Code Generator Module¶
| Since | Origin / Contributor | Maintainer | Source |
|---|---|---|---|
| 2018-10-20 | https://github.com/nayuki/QR-Code-generator.git integrated by Tom Sutcliffe | Tom Sutcliffe | qrcodegen.c |
This module wraps the QR Code Generator API written in C by https://github.com/nayuki/QR-Code-generator.git for producing a QR Code.
qrcodegen.encodeText()¶
Generates a QR Code from a text string. In the most optimistic case, a QR Code at version 40 with low ECC can hold any UTF-8 string up to 2953 bytes, or any alphanumeric string up to 4296 characters, or any digit string up to 7089 characters.
Syntax¶
qrcodegen.encodeText(text, [options])
Parameters¶
textThe text or URL to encode. Should be UTF-8 or ASCII.optionsAn optional table, containing any of:minverthe minimum version according to the QR Code Model 2 standard. If not specified, defaults to1.maxverthe maximum version according to the QR Code Model 2 standard. If not specified, defaults to40. Specifying a lower maximum version reduces the amount of temporary memory the function requires, so it can be worthwhile to specify a smaller value if you know thetextwill fit in a lower-version QR Code.eclthe error correction level in a QR Code symbol. Higher error correction produces a larger QR Code. One of:qrcodegen.LOW(default if not specified)qrcodegen.MEDIUMqrcodegen.QUARTILEqrcodegen.HIGH
maskthe mask pattern used in a QR Code symbol. An integer 0-7, orqrcodegen.AUTO(the default).boostecldefaults to false.
Returns¶
The QR Code, encoded as a string. Use qrcodegen.getSize() and qrcodegen.getPixel() to extract data from the result. If the text cannot be represented within the given version range (for example it is too long) then nil is returned.
Example¶
qrcode = qrcodegen.encodeText("https://nodemcu.readthedocs.io/", {minver=1, maxver=4})
print("Size:", qrcodegen.getSize(qrcode))
qrcodegen.getSize()¶
Syntax¶
qrcodegen.getSize(qrcode)
Parameters¶
qrcodea QR Code string, as returned byqrcodegen.encodeText().
Returns¶
Returns the side length in pixels of the given QR Code. The result is in the range [21, 177].
qrcodegen.getPixel(qrcode, x, y)¶
Get the color of the pixel at the given coordinates of the QR Code. x and y must be between 0 and the value returned by qrcodegen.getSize().
Syntax¶
qrcodegen.getPixel(qrcode, x, y)
Parameters¶
qrcodea QR Code string, as returned byqrcodegen.encodeText().xy
Returns¶
true if the given pixel is black, false if it is white.
Example¶
qrcode = qrcodegen.encodeText("https://nodemcu.readthedocs.io/", {maxver=4})
size = qrcodegen.getSize(qrcode)
for y = 0, size-1 do
local row = {}
for x = 0, size-1 do
row[x + 1] = qrcodegen.getPixel(x, y) and "*" or " "
end
print(table.concat(row))
end