A Laravel 4 wrapper for the Imagecow image resizing / respoisive image package. See https://github.com/oscarotero/imageCow for more detail on the underlying image manipulation package.
Image cow can use either GD or ImageMagick to transform image.
This is a customised fork from https://github.com/kevbaldwyn/image
Install as any other Laravel 4 package:
-
Add to composer:
"require": { ... "iveoles/image":"dev-master" ... }
-
Composer Update:
$ composer update
-
Add to the providers array in app.php:
'providers' => array( ... 'Iveoles\Image\ImageServiceProvider'
)
-
Add to the facades array in app.php:
'aliases' => array( ... 'Image' => 'Iveoles\Image\Facades\Image'
)
-
Publish the package config file to change the defaults:
$ php artisan config:publish iveoles/image
-
Copy the /vendor/imagecow/imagecow/Imagecow/Imagecow.js file to a publicly accessible web directory. The default path is set as /public/js/Imagecow.js, but whatever it is set as in the config the file must exist.
To provide image links on your templates use like so:
<img src="{{ Image::path('/image.jpg', 'resizeCrop', 400, 200) }}" />
Where the first argument is the image which is referenced from the root of the public directory. The second argument is the transform method and each subsequent argument is an argument that would be passed to the relevant transform method used. See the Imagecow Documentation for more details.
To provide links to responsive images use a similar syntax:
<img src="{{ Image::path('/image.jpg', 'resizeCrop', 400, 200)->responsive('max-width=400', 'resize', 100) }}" />
The first argument is the "rule" and the subsequent arguments are the transform conditions to apply to that rule, following the same format. You can apply multiple responsive breakpoints by calling responsive multiple times.
All images are cached automatically, they are cached to the filesystem in the storage directory, the exact path and lifetime of the cache are configurable in the package config.