Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 使用Laravel为社交网站创建缩略图_Image_Image Processing_Laravel_Gallery_Thumbnails - Fatal编程技术网

Image 使用Laravel为社交网站创建缩略图

Image 使用Laravel为社交网站创建缩略图,image,image-processing,laravel,gallery,thumbnails,Image,Image Processing,Laravel,Gallery,Thumbnails,我想知道是否有人知道解决这个问题的好策略: 我正在使用Laravel4创建一个社交网站。用户可以将图片上传到自己的图库。这些图片可以是任何形状和大小,但其配置文件上的图库将仅显示图像的裁剪和大小调整缩略图(200px 200px),您可以单击该缩略图查看完整图像 我现在正在使用Laravel插件,它保存原始图像,然后调整大小并裁剪该图像,然后再次保存(所以现在我有2个副本)。然后,我将剪切/调整大小的图像显示为链接到全尺寸原始图像的缩略图。然而,我发现在我的服务器上复制每一张图片都是一种无聊的空

我想知道是否有人知道解决这个问题的好策略:

我正在使用Laravel4创建一个社交网站。用户可以将图片上传到自己的图库。这些图片可以是任何形状和大小,但其配置文件上的图库将仅显示图像的裁剪和大小调整缩略图(200px 200px),您可以单击该缩略图查看完整图像

我现在正在使用Laravel插件,它保存原始图像,然后调整大小并裁剪该图像,然后再次保存(所以现在我有2个副本)。然后,我将剪切/调整大小的图像显示为链接到全尺寸原始图像的缩略图。然而,我发现在我的服务器上复制每一张图片都是一种无聊的空间浪费,因为可能会有数千张图片上传到该站点

有没有一种方法可以抓取原始图像,动态调整和裁剪它,并仅在用户加载页面时显示它,而不必将缩略图保存到服务器?还是我必须为每张图片制作一份裁剪过的拷贝

一个很好的例子显示了我想要实现的是Facebook在用户图片库中将图片裁剪成正方形的方式,或者当用户将多张图片上传到一个状态时,如何在新闻提要上裁剪和调整图片大小


非常感谢您的建议

是的,我们让您也可以动态操作和显示。 下面是一个简单的示例(显然,您实际上会使用控制器等进行此操作)

然后您只需将此路由的正确URI设置为图像的
src

请记住,这将使用更多的服务器资源,并使映像的响应时间更长

您看到了吗?它基本上是干预/图像和干预/图像缓存的包装器。在两分钟内完成设置(请注意第二个示例)

Route::get('img/profile/picture.jpg', function(){
    $img = Image::make('path/to/profile/picture.jpg');

    // resize, crop, whatever

    return $img->response();
});