Files
xk-api-yii/common/helpers/QrcodeHelper.php
2024-09-19 11:32:39 +08:00

48 lines
1.5 KiB
PHP

<?php
namespace common\helpers;
use Endroid\QrCode\Builder\Builder;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;
class QrcodeHelper{
public static function url($url){
@ini_set('memory_limit', '512M');
$result = Builder::create()
->writer(new PngWriter())
->writerOptions([])
->data($url)
->encoding(new Encoding('UTF-8'))
->errorCorrectionLevel(new ErrorCorrectionLevelHigh())
->size(300)
->margin(30)
->roundBlockSizeMode(new RoundBlockSizeModeMargin())
->build();
return $result->getDataUri();
}
public static function imageUrl($url)
{
@ini_set('memory_limit', '512M');
$result = Builder::create()
->writer(new PngWriter())
->writerOptions([])
->data($url)
->encoding(new Encoding('UTF-8'))
->errorCorrectionLevel(new ErrorCorrectionLevelHigh())
->size(300)
->margin(10)
->roundBlockSizeMode(new RoundBlockSizeModeMargin())
->build();
return $result;
// ob_start();
// imagepng($result->getImage());
// $rawImage = ob_get_contents();
// ob_end_clean();
// return $rawImage;
// return \Yii::$app->upload->AliOssPutObject(\Yii::$app->upload->getFileName('image').'.png',$rawImage);
}
}