Download the PHP package bacon/bacon-qr-code without Composer
On this page you can find all versions of the php package bacon/bacon-qr-code. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bacon/bacon-qr-code
More information about bacon/bacon-qr-code
Files in bacon/bacon-qr-code
Package bacon-qr-code
Short Description BaconQrCode is a QR code generator for PHP.
License BSD-2-Clause
Homepage https://github.com/Bacon/BaconQrCode
Rated 2.00 based on 2 reviews
Informations about the package bacon-qr-code
QR Code generator
Introduction
BaconQrCode is a port of QR code portion of the ZXing library. It currently only features the encoder part, but could later receive the decoder part as well.
As the Reed Solomon codec implementation of the ZXing library performs quite slow in PHP, it was exchanged with the implementation by Phil Karn.
Example usage
Available image renderer back ends
BaconQrCode comes with multiple back ends for rendering images. Currently included are the following:
ImagickImageBackEnd: renders raster images using the Imagick librarySvgImageBackEnd: renders SVG files using XMLWriterEpsImageBackEnd: renders EPS files
GDLib Renderer
GD library has so many limitations, that GD support is not added as backend, but as separated renderer.
Use GDLibRenderer instead of ImageRenderer. These are the limitations:
- Does not support gradient.
- Does not support any curves, so you QR code is always squared.
Example usage:
Known issues
ImagickImageBackEnd: white pixel artifacts
When using ImagickImageBackEnd, single white pixels may appear inside filled regions. This is
most visible with margin 0 (where artifacts appear at the image edge), but can in theory occur at
any position. The cause is a bug in ImageMagick's path fill rasterizer (GetFillAlpha in
MagickCore/draw.c): an off-by-one error in the winding number calculation combined with an edge
skipping bug in the scanline processing can incorrectly classify pixels as outside the polygon.
The bug cannot be reliably worked around in this library:
- Canvas padding (rendering on a larger canvas and cropping) does not work because the required padding depends on the scale factor, path complexity, and ImageMagick's internal edge processing state. No fixed padding value is safe for all inputs.
- Post-processing (scanning for and fixing isolated white pixels) risks corrupting legitimate rendering features such as curved module edges.
For artifact-free output, use SvgImageBackEnd or GDLibRenderer instead.
Development
To run unit tests, you need to have Node.js and the pixelmatch library installed. Running
npm install will install this for you.