Voor het resizen van afbeeldingen maak ik gebruik van de intervention/image package.
https://packagist.org/packages/intervention/image
Om deze te implementeren onderneem je de volgende stappen:
1) Voeg het pakket toe via composer: sudo composer require intervention/image
Voor de versie tik je: dev-master
2) Voeg je het volgende toe app/config/app.php
Onder “providers” plak je deze regel: ‘InterventionImageImageServiceProvider’,
Onder “aliases” plak je deze regel: ‘Image’ => ‘InterventionImageFacadesImage’,
Vervolgens kan je aan de slag!
Hieronder een heel simpel voorbeeld van een route die een afbeelding van internet plukt, deze herschaalt en vervolgens opslaat:
Route::get('/test', function()
{
// ophalen afbeelding
$image = Image::make(file_get_contents('http://s.numrush.nl/wp-content/uploads/2014/06/m1mxnmxa2269_wd1280.jpg'));
// resize de afbeelding naar een breedte van 500px en behoudt de aspect ratio (auto height)
$image->resize(500, null, function ($constraint) {
$constraint->aspectRatio();
});
// opslaan afbeelding
$pad = public_path().'/images/';
$naam = 'test.jpg';
$image->save($pad . $naam);
return $image->response();
});
