dev-master
9999999-devImage manipulation bundle for Laravel 4
MIT
The Requires
- php >=5.4.0
- illuminate/support 4.2.*
- orchestra/imagine *
by Todor Todorov
Wallogit.com
2017 © Pedro Peláez
Image manipulation bundle for Laravel 4
You can install this package in the standart way. Add:, (*1)
"todsto/image-crop-resizer": "dev-master"
to your composer.json.
Run composer update
Publish the configuration, (*2)
php artisan config:publish todsto/image-crop-resizer
Open your app/config/app.php and add 'Todsto\ImageCropResizer\ImageCropResizerServiceProvider', to the providers array. Then add 'ICR' => 'Todsto\ImageCropResizer\ImageCropResizer' to the aliases array. This will register 'ICR' as alias for the base bundle class., (*3)
The bundle stores the images in the public/uploads/context/size folder., (*4)
To set the your own contexts use the app/config/packages/todsto/image-crop-resizer/contexts.php.
The file looks like this, (*5)
return [
'default' => [
'small' => [
'width' => 100,
'height' => 100,
'action' => 'crop-resize'
],
'medium' => [
'width' => 200,
'height' => 200,
'action' => 'crop-resize'
],
'large' => [
'width' => 300,
'height' => 300,
'action' => 'crop-resize'
]
]
];
"default" is the default image context. Context has different sizes which has width, height and action. The action defines the way that the image will be processed. "crop" crops a region with the provided measures from the middle of the image. "resize" resize the image to given measures. "crop-resize" crops a region from the image, but first resize it, so the image will be cropped with no deformations and with minimal losses., (*6)
To use the bundle just call in you controller the process method of the ImageCropResizer class. As you have an alias, your code might look like this:, (*7)
class TestController extends Controller {
public function getTest() {
return View::make('test');
}
public function postTest() {
$image_name = ICR::process(Input::file('image'), 'default');
// Some database actions here
return Redirect::back()->with('message', 'Success');
}
}
In the template:, (*8)
@if(Session::has('message'))
{{ Session::get('message') }}
@endif
{{ Form::open(['url' => 'test/test', 'method' => 'POST', 'enctype' => 'multipart/form-data']) }}
{{ Form::token() }}
{{ Form::file('image') }}
{{ Form::submit('Submit') }}
{{ Form::close() }}
The process method takes as first argument the file object from the input field. The second argument is the context. The process method returns the generated unique image name., (*9)
Image manipulation bundle for Laravel 4
MIT