An element to decode a QR Code from an image

[ This description is mirrored from README.md at github.com/LostInBrittany/granite-qrcode-decoder on 2019-05-22 ]

Published on Vaadin  Directory Stars on vaadin.com/directory Published on webcomponents.org

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

  1. Fork the granite-qrcode-decoder repository and clone it locally.

  2. Make sure you have npm and the Polymer CLI installed.

  3. When in the granite-qrcode-decoder directory, run npm install to install dependencies.

  4. Serve the project using Polyumer CLI:

    polymer serve --npm

  5. Open the demo in the browser

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

MIT License

Install

Link to this version
ImportedReleased 04 March 2018Other
Framework Support
Polymer 2.0+
Browser Independent
Install with
Release notes - Version 1.0.2

Dependencies

Polymer/polymer#^2.0.0

  • LostInBrittany/jsqrcode#^1.0.1
  • LostInBrittany/granite-js-dependencies-grabber#^1.1.0