paradigmate / image-bundle
Symfony2 bundle for image resizing.
Installs: 1 341
Dependents: 0
Suggesters: 0
Security: 0
Watchers: 2
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.2
- ext-gd: *
- symfony/framework-bundle: >=2.0.0
Suggests
- ext-exif: to speed up some functions instead of using GD library
This package is not auto-updated.
Last update: 2015-12-09 08:35:20 UTC
README
This bundle provides an easy way to resize images in Symfony2. This bundle it's based on the resize.php class by Jarrod Oberto. Requires php >=5.3, GD library and optional EXIF library.
<?php class ImageController extends Controller { public function userAction($user, $size) { $resize = $this->get('image_resizer') ->resize( $user->getImageFile(), $user->getImageFile($size), new ImageSize($size, $size), ImageResizer::RESIZE_TYPE_CROP ); } }
Installation
Step 1: Install vendors
Symfony 2.0.x:bin/vendors.php
method
If you're using the bin/vendors.php
method to manage your vendor libraries,
add the following entries to the deps
in the root of your project file:
[ParadigmateImageBundle]
git=http://github.com/paradigmate/ImageBundle.git
target=/bundles/Paradigma/Bundle/ImageBundle
Next, update your vendors by running:
$ ./bin/vendors
Finally, add the following entries to your autoloader:
<?php // app/autoload.php $loader->registerNamespaces(array( // ... 'Paradigma' => __DIR__.'/../vendor/bundles', ));Symfony 2.1.x: Composer
Composer is a project dependency manager for PHP. You have to list
your dependencies in a composer.json
file:
{ "require": { "paradigmate/image-bundle": "dev-master" } }
To actually install ImageBundle in your project, download the composer binary and run it:
wget http://getcomposer.org/composer.phar # or curl -O http://getcomposer.org/composer.phar php composer.phar install
Step 2: Enable the bundle
Finally, enable the bundle in the kernel:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Paradigma\Bundle\ImageBundle\ParadigmaImageBundle(), ); }
Examples
It's possible to resize the images automatically, with corpping or priorizing the size in landscape or portrait.
<?php ... $resize = $this->get('image_resizer') ->resize($filename, $filename_output, new ImageSize($size, $size), ImageResizer::RESIZE_TYPE_AUTO); .... $resize = $this->get('image_resizer') ->resize($filename, $filename_output, new ImageSize($size, $size), ImageResizer::RESIZE_TYPE_CROP); ... $resize = $this->get('image_resizer') ->resize($filename, $filename_output, new ImageSize($size, $size), ImageResizer::RESIZE_TYPE_EXACT); ... $resize = $this->get('image_resizer') ->resize($filename, $filename_output, new ImageSize($size, $size), ImageResizer::RESIZE_TYPE_LANDSCAPE); ... $resize = $this->get('image_resizer') ->resize($filename, $filename_output, new ImageSize($size, $size), ImageResizer::RESIZE_TYPE_PORTRAIT); ...