2016-03-26 34 views
3

Jpg için çalışıyorum bir kod var, görüntüleri yeniden boyutlandırmak için png görüntüleri, işte kod örneği. ben Unable to read image from file gibi hata döndürür svg kullanıyorum zaman laravel svg görüntü yüklerken "görüntü okunamıyor" hatası 4

$image = Image::make("{$filePath}/{$fileName[0]}"); 
// Get the maximum uploaded image width 
$maxWidth = Config::get('constants.max_uploaded_image_width'); 

// Resize the image 
$image->resize($maxWidth, null, function($constraint) 
{ 
    // Set an aspect ratio constraint 
    $constraint->aspectRatio(); 

    // Prevent upsizing 
    $constraint->upsize(); 
}); 

// Save the image 
$image->save("{$filePath}/{$fileName[0]}"); 

Bu seferki

jpg ve png görüntülerle harika çalışıyor, ancak. Herhangi bir çözüm?

cevap

2

Büyük olasılıkla SVG görüntülerini yeniden boyutlandırmak istemezsiniz. Yani çözüm MIME TYPE almak ve yeniden boyutlandırma atlamak olacaktır:

if($image->mime() != 'text/svg+xml') { 
    // resize 
} 
1

Temelde SVG o tip başka görüntüden farklı olduğunu Ölçeklenebilir Vektör Grafikleri için standları olduğunu, o yüzden orada web tarayıcıya açıktır Entegrasyonun farklı bir yolu İşte nasıl entegre edilir.

1) Bir SVG belgesini bir PHP belgesine dönüştürün. 2) Bir XHTML belgesine bir SVG belgesi eklemek için nesne ve gömme öğelerini kullanın. 3) PHP'nin echo komutunu kullanarak SVG oluşturun. 4) phpHtmlLib kütüphanesini kullanarak SVG oluşturun. 5) PEAR :: XML_SVG paketini kullanarak SVG belgeleri oluşturun. 6) PEAR :: Image_Canvas paketini kullanarak SVG belgeleri oluşturun. 7) PHP, SVG ve AJAX'ı entegre edin.

İlgili konular