marcha / image
A forked Laravel 4 to 11. package to aid generating automatically resized images on the fly and generating responsive images.
Requires
- php: >=5.3.0
- aws/aws-sdk-php: 2.x
- imagecow/imagecow: 1.*
Requires (Dev)
- mockery/mockery: dev-master
Suggests
- illuminate/support: If using this package with Laravel > 4, you will need to install Illuminate Support. If Laravel is already installed this will already be available.
README
A Laravel 4-5 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.
Instalation
Install as any other Laravel 4 package:
-
Add to composer:
"require": { ... "marcha/image":"dev-master" ... }
-
Composer Update:
$ composer update
-
Add to the providers array in app.php:
'providers' => array( ... 'marcha\Image\Providers\Laravel\ImageServiceProvider'
)
-
Add to the facades array in app.php:
'aliases' => array( ... 'Image' => 'marcha\Image\Providers\Laravel\Facades\Image'
)
-
Publish the package config file to change the defaults:
$ php artisan vendor:publish marcha/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.
-
Create folder storage/cache/images
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.