home/autoph/public_html/projects/api/app/Controllers/QRController.php000064400000003652150250206460022073 0ustar00json(array("status" => 0, "message" => "data parameter is required.")); } $label = input('label') ? input('label') : ''; $image = input('logo') ? config('qr')->logo : config('qr')->no_logo; $result = Builder::create() ->writer(new PngWriter()) ->writerOptions([]) ->data(input('data')) ->encoding(new Encoding('UTF-8')) ->errorCorrectionLevel(new ErrorCorrectionLevelHigh()) ->size(300) ->margin(10) ->roundBlockSizeMode(new RoundBlockSizeModeMargin()) ->logoPath($image) ->labelText($label) ->labelFont(new NotoSans(20)) ->labelAlignment(new LabelAlignmentCenter()) ->build(); // Directly output the QR code header('Content-Type: ' . $result->getMimeType()); if (!empty(input('filename'))) { header("Content-Disposition: inline;filename=" . input('filename') . ".png"); } echo $result->getString(); // Save it to a file // $result->saveToFile(__DIR__ . '/qrcode.png'); // Generate a data URI to include image data inline (i.e. inside an tag) $dataUri = $result->getDataUri(); } }