0
0
Files
Babyclass/app/Http/Controllers/ShareController.php
2020-08-04 10:09:42 +08:00

84 lines
2.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\User;
use Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
use Image;
use QrCode;
class ShareController extends Controller
{
public function __construct(Request $request)
{
parent::__construct($request);
$this->middleware('auth');
view()->share('nav', 2);
}
public function user(User $user)
{
session(['parent_id' => $user->id]);
// return redirect()->route('vip.create');
}
public function index(User $user)
{
$user = Auth::user();
return view('share.index', compact('user'));
}
public function mine(Request $request)
{
$user = Auth::user();
$qrCode = Image::make(QrCode::size(3000)->format('png')->margin(0)->generate(route('index.index') . '?share_uid=' . $user->id))->resize(230, 230);
return $qrCode->response('jpg');
}
public function getnewCode()
{
$user = Auth::user();
$qrCode = QrCode::format('png')->size(126)->margin(0)->generate(route('index.index') . '?share_uid=' . $user->id);
// $headimg = Image::make($user->info->headimgurl);
$fileUrl = '/home/wwwroot/BabyClass/storage/app/public/headimgurl/' . $user->id . '.jpg';
if (!file_exists($fileUrl)) {
$headimgurl = file_get_contents($user->info->headimgurl);
file_put_contents($fileUrl, $headimgurl);
}
$headimg = self::getCircle(Image::make($fileUrl)->resize(65, 65));
$image = Image::make('img/new_code2.png'); //获取背景图片
return $image->insert($headimg, 'top-left', 205, 730)
->insert($qrCode, 'top-left', 51, 853)
->text('我是' . $user->info->nickname ?: '宝宝课', 288, 760, function ($font) {
$font->file('fonts/yahei.ttf')->color('#000000')->size(18);
})
->response('jpg');
}
//裁剪图片成圆形
public function getCircle($img)
{
$r = $img->width() / 2;
$new = Image::canvas(164, 164);
for ($x = 0; $x < $img->width(); $x++) {
for ($y = 0; $y < $img->height(); $y++) {
$c = $img->pickColor($x, $y, 'array');
if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
$new->pixel($c, $x, $y);
}
}
}
return $new;
}
public function newcode()
{
return view('share.newcode', compact('user'));
}
}