我的代码适用于jpg,png图像调整图像大小,这是代码示例。
$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]}");
此图片适用于jpg
和png
张图片,但当我使用svg
时,它会返回Unable to read image from file
之类的错误。任何解决方案?
答案 0 :(得分:5)
SVG
不支持 Intervention Image
http://image.intervention.io/getting_started/formats
您可以使用ImageMagick与SVG
合作。
答案 1 :(得分:2)
您可能不想调整SVG图像的大小。所以解决方案是获取MIME-TYPE并跳过调整大小:
if($image->mime() != 'text/svg+xml') {
// resize
}
答案 2 :(得分:1)
基本上SVG代表可缩放矢量图形,它的类型与任何其他图像不同,它在Web浏览器中是开放的,因此有不同的集成方式以下是如何集成它的方式。
1)将SVG文档转换为PHP文档。 2)使用object和embed元素在XHTML文档中包含SVG文档。 3)使用PHP的echo命令生成SVG。 4)使用phpHtmlLib库生成SVG。 5)使用PEAR :: XML_SVG包生成SVG文档。 6)使用PEAR :: Image_Canvas包生成SVG文档。 7)集成PHP,SVG和AJAX。