2016-03-21 26 views
3

Laravel 5 kullanıyorum ve bir resim yüklemek için formum var. Benim denetleyicisi yöntemleri Ben dosyayı kaydetmeden görüntüyü almak ve bir dizine koymak için zaman: Ben dosyayı kaydetmeden önceLaravel 5 image resize

if ($request->hasFile('picture')) { 
    $destinationPath = 'uploads'; 
    $filename = $image->getClientOriginalName(); 
    $extension = $image->getClientOriginalExtension(); // add 
    $picture = sha1($filename . time()) . '.' . $extension; //add 
    $offer->image = $picture; 
    $image->move($destinationPath, $picture); 
} 
$offer->save(); 

Ben max dosyayı yeniden boyutlandırmak istiyorum. 800px genişliği. Laravel'de görüntü yeniden boyutlandırma veya sıkıştırma işlevi var mı? Bunu yapmak için en iyi fikir ne olurdu?

cevap

2

intervention ürününe benzer bir paket yükleyebilir ve kullanabilirsiniz. resmi web sitesinden

Örnek:

$img = Image::make('public/foo.jpg'); 
$img->resize(320, 240); 
$img->insert('public/watermark.png'); 
$img->save('public/bar.jpg'); 
+0

denemek ve Görüntü içindeki parametre olarak iletin :: (yapmak)? – Steve

+0

, resmin yolunu mu kullanıyor? – Gokigooooks

+0

Sadece yüklenen bir resmin yolunu ilk parametre olarak kullanın. –

0
Image::make($request->file('image'))->resize(462, 462)->save('upload_path/filename.jpg')); 

benim örnekte görüntü elde edebilirsiniz nasıl bu kodu

+0

Lütfen kodda neler olup bittiğine dair bir açıklama yapın. Kod dökümü burada çattı. – rayryeng

+0

İlk önce bu paketi uygulamanıza ekleyin. paket yükleme detayları burada. http://image.intervention.io/getting_started/installation daha sonra yönergeleri izlemeyi ve belgeselden işlem yapmayı deneyin. –