123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace App\Http\Controllers;
- use App\Handlers\ImageDealHandler;
- use App\Handlers\ImageUploadHandler;
- use App\Handlers\UploadFilesHandler;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Str;
- use Intervention\Image\Facades\Image;
- class ImageController extends Controller
- {
- public function index(Request $request,ImageUploadHandler $filesHandler){
- $name=$request->input('text');
- $image=$filesHandler->save($request->file('image'),'avatar',rand(0,10));
- Log::error($image);
- $re=$this->CreateImg(1,env('APP_URL').'/img.jpg',$image['path'],$name,env('APP_URL').'/shi.png');
- return ['imageUrl'=>$re];
- }
- public function CreateImg($id,$main_url,$avatar,$nickname,$img_url){
- $imageDealHandler=new ImageDealHandler();
- $image=Image::make($main_url);
- $avatar=$imageDealHandler->circleImg($avatar);
- $avatar=Image::make($avatar);
- $avatar->resize(630,630);
- $img=Image::make($img_url);
- $image->insert($avatar,'',230,273);
- $image->insert($img);
- if (mb_strlen($nickname)==1){
- $y=600;
- $n=1;
- }elseif (mb_strlen($nickname)==2){
- $y=550;
- $n=2;
- }elseif (mb_strlen($nickname)==3){
- $y=500;
- $n=3;
- }elseif (mb_strlen($nickname)==4){
- $y=450;
- $n=4;
- }else{
- $y=450;
- $n=0;
- }
- for ($i=0;$i<$n;$i++){
- $image->text(mb_substr($nickname,$i,1), 932,$y+$i*120 , function ($font) {
- $font->file(public_path() . '/ziti/ht.otf');
- $font->size(105);
- $font->color('f5e990');
- $font->angle(0);
- });
- }
- $folder_name = "uploads/UserImg/" . date("Ym/d", time());
- $upload_path = 'public/'.$folder_name;
- // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
- $extension = 'png';
- // 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
- // 值如:1_1493521050_7BVc9v9ujP.png
- $filename = $id.'_'.Str::random(10) .'.'. $extension;
- // File::isDirectory($upload_path) or File::makeDirectory($upload_path, 077, true, true);
- if (!file_exists(public_path($upload_path))) {
- mkdir(public_path($upload_path), 0777, true);
- }
- // 将图片移动到我们的目标存储路径中
- $image->save(public_path().'/'.$upload_path . '/' . $filename);
- $url=env('APP_URL').'/'.$upload_path.'/'.$filename;
- return $url;
- }
- }
|