iveoles / image
A Laravel 4 package to aid generating automatically resized images on the fly and generating responsive images.
Requires
- php: >=5.3.0
- illuminate/support: 4.*
- imagecow/imagecow: *
This package is not auto-updated.
Last update: 2024-12-07 16:35:23 UTC
README
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
Instalation
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.
Usage
Standard
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.
Responsive
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.
Caching
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.