granite-qrcode-decoder
An element to decode a QR Code from an image.
using a modified version of Lazersoft's jsqrcode library, to allow jsqrcode
to deal with ShadowDOM
Built on lit-element
The old Polymer 2.x-1.x version is available on the polymer-hybrid
branch.
Doc & demo
The element can decode several sources of images:
- A dataURL, by using the
dataUrl
property - An
app-media-image-capture
, by injecting it to the blob
property - A canvas, by calling the
decodeCanvas
method passing the canvas as parameter
https://lostinbrittany.github.io/granite-qrcode-decoder
Usage example
<granite-qrcode-decoder
@qrcode-decoded="${method_listening_for_data}"
data-url="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAXIAAAFyAQMAAADS6sNKAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABn0lEQVR4nO2aS46EMAxELXEAjsTVcyQO0FJ6sF0xBBazmlGhqoW7SV6ywYk/3WaSJEmSJP2Peupjtu3H42GaLd1sxVwTz8vHw/qxAFpRPlaIeE5+zTl3ijDTmPg38Lb9fCkj/m28DeOLTPwreP9YM17DLL+4/8Uz8Cm/xSeDOfG8/GXlNWg/UuK5eAA9Uu2soo7z7jWW4dCLJ+Uj7dozcjtfE1FDN/G8/EmneA1HiWxNPDOPVMy8y+Vjno9ZGjPxzDxqp2Z+toHmRsuD/4jn4ROAF/RRTw1HEU/M+1w0uFwRpZGK4eSLZ+UvpxzHf8Tr2M3EE/Nr3ufoYjq/ZHn1cJ+LZ+LrjdfKdAUY8cR8NTCnUgqucPcf8UR8lVJxlfse2e86NN/n4rn4fOPV5fKVg282STwXf14ZrepLenbrd4nn4nGuP8MzvJTqHY3s+f4Xz8XHw+h3HaosTDw/f3n36ILAUVptKZ6bv/9LKwO5+FfwMbwhXlvk4A+/L4un4v0jvKAPqtCn/qd4Hj6FAO3Ltx2L7v0T8VS8JEmSJEl/qS/3CycsizQPTAAAAABJRU5ErkJggg=="
debug></granite-qrcode-decoder>
Install
Install the component using npm:
$ npm i @granite-elements//granite-qrcode-decoder
Once installed, import it in your application:
import '@granite-elements/granite-qrcode-decoder/granite-qrcode-decoder.js';
Running demos and tests in browser
-
Fork the granite-qrcode-decoder
repository and clone it locally.
-
Make sure you have npm
and the Polymer CLI installed.
-
When in the granite-qrcode-decoder
directory, run npm install
to install dependencies.
-
Serve the project using Polyumer CLI:
polymer serve --npm
-
Open the demo in the browser
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
License
MIT License