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