48 lines
1.5 KiB
PHP
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);
|
|
}
|
|
} |