我想在Laravel 5.3中调整我的通过干预\图像的大小。使用以下代码:
$resized = Image::make($image)->resize(640, null, function ($constraint) {
$constraint->aspectRatio(); })->stream();
$resized_thumb = Image::make($image)->resize(320, 213)->stream();我得到的图片是这样的:http://clasifire.com/listing?category=1 (如果你点击第一张图片转到它的详细信息,你会发现它的高度实际上更高)
但这样图像就会失去宽高比。例如,我想要的是,考虑一下craigslist上的这个列表:https://sfbay.craigslist.org/d/antiques/search/ata (向下滚动3-4行)
因此,我不希望图像被拉伸,相反,它们应该保持纵横比,如果需要的话,沿着宽度/高度留出空白。
发布于 2017-11-04 18:36:23
您应该添加另一个约束:
$constraint->upsize();之后
$constraint->aspectRatio();为了防止图像太小而被放大。
发布于 2017-11-04 21:10:55
你可以考虑使用像Glide这样的包来动态生成图像(裁剪、大小、效果、水印、缓存等)。并保持原始图像不变。http://glide.thephpleague.com/
发布于 2017-11-04 22:48:46
不能同时指定with和height!只能使用一个维度和一个widen()或heighten()函数:
By Height:
$resized_thumb = Image::make($image)->heighten(320)->stream();By Width:
$resized_thumb = Image::make($image)->widen(213)->stream();https://stackoverflow.com/questions/47109773
复制相似问题