这个包是AvalancheImagineBundle的衍生品,他为symfony2提供了方便的图像处理方式。可以适用于多个场景中。
第一步,下载bundle
1 |
php composer.phar require liip/imagine-bundle |
第二步,启用Bundle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Liip\ImagineBundle\LiipImagineBundle(), ); // ... } // ... } |
第三步,加入到路由器
1 2 3 4 |
# app/config/routing.yml _liip_imagine: resource: "@LiipImagineBundle/Resources/config/routing.xml" |
第四步,基础使用
假如你想将你的缩略图设置成120*90像素,那么你需要在配置文件里先设置并启用这个功能。然后再模板中使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# app/config/config.yml liip_imagine: resolvers: default: web_path: ~ filter_sets: cache: ~ my_thumb: quality: 75 filters: thumbnail: { size: [120, 90], mode: outbound } |
我们把设置好的filter_set配置在twig模板中调用
1 |
<img src="{{ '/relative/path/to/image.jpg' | imagine_filter('my_thumb') }}" /> |
这个例子缩略图文件会生成到
/media/cache/my_thumb/relative/path/to/image.jpg 目录。
你也可以在运行的是否配置一些参数
1 2 |
{% set runtimeConfig = {"thumbnail": {"size": [50, 50] }} %} <img src="{{ '/relative/path/to/image.jpg' | imagine_filter('my_thumb', runtimeConfig) }}" /> |
他将会生成到一个随机目录中/media/cache/my_thumb/S8rrlhhQ/relative/path/to/image.jpg
如果我们想调整生成的路径,那么就需要修改config.yml文件添加cache_prefix
12345 liip_imagine:resolvers:default:web_path:cache_prefix: uploads/cache
更多配置请查看
http://symfony.com/doc/master/bundles/LiipImagineBundle/configuration.html