Skip to content

Files

Latest commit

 

History

History
101 lines (78 loc) · 3.96 KB

QRGdImage.md

File metadata and controls

101 lines (78 loc) · 3.96 KB

QRGdImage

Class QRGdImage: GdImage raster graphic output (GIF, JPG, PNG, ...)

Example

See: GdImage example

Set the options:

$options = new QROptions;

// $outputInterface can be one of the classes listed in `QROutputInterface::MODES`
$options->outputInterface     = QRGdImageWEBP::class;
$options->quality             = 90;
// the size of one qr module in pixels
$options->scale               = 20;
$options->bgColor             = [200, 150, 200];
$options->imageTransparent    = true;
// the color that will be set transparent
// @see https://www.php.net/manual/en/function.imagecolortransparent
$options->transparencyColor   = [200, 150, 200];
$options->drawCircularModules = true;
$options->drawLightModules    = true;
$options->circleRadius        = 0.4;
$options->keepAsSquare        = [
	QRMatrix::M_FINDER_DARK,
	QRMatrix::M_FINDER_DOT,
	QRMatrix::M_ALIGNMENT_DARK,
];
$options->moduleValues        = [
	QRMatrix::M_FINDER_DARK    => [0, 63, 255], // dark (true)
	QRMatrix::M_FINDER_DOT     => [0, 63, 255], // finder dot, dark (true)
	QRMatrix::M_FINDER         => [233, 233, 233], // light (false)
	QRMatrix::M_ALIGNMENT_DARK => [255, 0, 255],
	QRMatrix::M_ALIGNMENT      => [233, 233, 233],
	QRMatrix::M_DATA_DARK      => [0, 0, 0],
	QRMatrix::M_DATA           => [233, 233, 233],
];

Render the output:

$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
$out  = (new QRCode($options))->render($data); // -> data:image/webp;base64,...

printf('<img alt="%s" src="%s" />', $alt, $out);

Return the GdImage instance (will ignore other output options):

$options->returnResource = true;

/** @var \GdImage $gdImage */
$gdImage = (new QRCode($options))->render($data);

// do stuff with the GdImage instance...
$size = imagesx($gdImage);
// ...

// ...dump output
header('Content-type: image/jpeg');

imagejpeg($gdImage);
imagedestroy($gdImage);

Additional methods

method return description
(protected) drawImage() void Draws the QR image
(protected) dumpImage() string Creates the final image by calling the desired GD output function
(protected) module(int $x, int $y, int $M_TYPE) void Renders a single module
(protected) setBgColor() void Sets the background color
(protected) setTransparencyColor() void Sets the transparency color
(abstract protected) renderImage() void Renders the image with the gdimage function for the desired output, implemented by child classes

Options that affect this module

property type
$bgColor mixed
$circleRadius float
$drawCircularModules bool
$drawLightModules bool
$imageTransparent bool
$quality int
$keepAsSquare array
$outputBase64 bool
$returnResource bool
$scale int
$transparencyColor mixed