Symfony2: 调整上传的图片大小

4

在Symfony2中上传图片时,有没有办法调整图片大小?

ImagineAvalancheBundle只允许在检索图像时将其调整为缩略图,这对我来说并不是非常有效。

此外,当提交数据时检索到的UploadedFile对象似乎没有调整大小的方法...

有什么想法吗?


图像绑定包会缓存重新采样的图像,因此性能通常不是问题,除非您的高速缓存命中率非常低(在大多数情况下,这适用于用户特定的上传)。 - Peter Kruithof
我有同样的问题,而且我不能使用本地缓存。我将调整大小后的图像卸载到CDN。 - Acyra
我刚刚发布了一个解决方案,使用LiipImagineBundle创建缩略图(https://dev59.com/SGUp5IYBdhLWcg3wzpxk#15669193),类似的解决方案也可以在ImagineAvalancheBundle中实现。 - Peter Wooster
3个回答

2
我曾经为我正在开发的一个项目遇到了同样的问题。在网上搜索了很多,但没有找到真正高效且易于非技术人员使用的解决方案。
我创建了一个包,可以使用jquery文件上传jcrop进行裁剪,并具有其他一些功能。 ComurImageBundle

2

我曾经遇到过你所问的同样问题。

主要问题在于bundle直接调整或裁剪图像。因此,对于大图像和每页预期多个图像的情况,这可能需要很长时间。

因此,在imageupload之后直接调用resize()函数来调整图像,从而解决了这个问题。因此,我将调整大小后的图像保存(复制)到服务器上的文件系统中。显然,我将图像的路径存储到数据库中,以便在需要时可以直接加载它。

我尝试使用imageresize bundle中包含的memcache,但在我的情况下它不起作用。


0

你的确切目标是什么?调整大小和裁剪?还是其他?

我不明白为什么你说捆绑包只能调整大小到缩略图,因为你可以通过配置精确定义调整大小预设:

  # app/config/config.yml

    avalanche_imagine:
        filters:
            my_thumb:
                type:    thumbnail
                options: { size: [120, 90], mode: outbound }

请仔细阅读,他没有说“bundle resize to thumbnail only”,他说“只允许在检索图像时调整它们的大小”,请忽略点部分。 - gondo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接