Class QRGdImage
:
GdImage raster graphic output (GIF, JPG, PNG, ...)
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);
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 |
property | type |
---|---|
$bgColor |
mixed |
$circleRadius |
float |
$drawCircularModules |
bool |
$drawLightModules |
bool |
$imageTransparent |
bool |
$quality |
int |
$keepAsSquare |
array |
$outputBase64 |
bool |
$returnResource |
bool |
$scale |
int |
$transparencyColor |
mixed |