Posted in

Laravel – Redimensionar imagenes con Intervention Image

Para crear una miniatura al subir una imagen lo haremos de la siguiente forma:


$destinationPath = "images/countries/" . Auth::user()->country_id;
                if(!File::exists($destinationPath)) {
                    File::makeDirectory($destinationPath, $mode = 0777, true, true);
                }
                $filename = date("YmdHis") . str_random(3) . '.' . $file->getClientOriginalExtension();
                $file->move($destinationPath, $filename);

                $destinationThumbPath = "images/countries/" . Auth::user()->country_id . '/thumbnails';
                if(!File::exists($destinationThumbPath)) {
                    File::makeDirectory($destinationThumbPath, $mode = 0777, true, true);
                }

                $img = Image::make($destinationPath . '/' . $filename);

                if($img->width() > $img->height()){
                    $img->resize(640, null, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }else{
                    $img->resize(null, 480, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }

                $img->save($destinationThumbPath . '/' . $filename);

http://image.intervention.io/

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.