glukash/glu-image

Installs: 1 119

Dependents: 0

Stars: 2

Watchers: 1

Forks: 2

Open Issues: 3

Language: PHP

0.1.3 2014-07-22 15:29 UTC

README

glukash\glu-image is a PHP image manipulation helper library.

The package includes ServiceProvider and Facade for easy Laravel 4 integration.

Purpose

  • The package supports two image manipulation methods: resize and crop.
  • Easly resize and crop jpg, png, and gif images.
  • Supports animated gif using GD Library. (No Imagick, Gmagick is needed).

Dependencies

The package uses:

Requirements

  • PHP >=5.3
  • GD Library (>=2.0)

Quick Installation

To install through composer, put the following in your composer.json file:

{
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/glukash/GifCreator"
        }
    ],
    "require": {
        "glukash/glu-image": "0.*"
    }
}

Without adding the "repositories" key, composer will pull the original Sybio/GifCreator and you will not be able to chain methods on animated gif files after first save().

{
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/glukash/GifCreator"
        }
    ]
}

Laravel Integration

Add Intervention\Image and Glukash\GluImage service providers in app/config/app.php.

'providers' => array(

    // ...
    'Intervention\Image\ImageServiceProvider',
    'Glukash\GluImage\GluImageServiceProvider',
),

Add GluImage alias in app/config/app.php.

'aliases' => array(

    // ...

    'GluImage' => 'Glukash\GluImage\Facades\GluImage',
),

If you want to use Intervention\Image package directly, add InterImage alias in app/config/app.php. This is not a necessary step for using GluImage.

'aliases' => array(

    // ...

    'InterImage' => 'Intervention\Image\Facades\Image',
),

Code Examples

$img = GluImage::get( $path_to_images.'/01.jpg' );
$img->resize(540,360);
$img->save( $path_to_images.'/01-resized.jpg' );

// ...

GluImage::get( $path_to_images.'/01.jpg' )->resize(540,360)->save( $path_to_images.'/01-resized.jpg' );

// ...

GluImage::get( $path_to_images.'/01.jpg' )->crop(540,360)->save( $path_to_images.'/01-cropped.jpg' );

// ...

// one chain creates two different files
GluImage::get( $path_to_images.'/01.jpg' )
    ->resize(540,360)
    ->save( $path_to_images.'/01-resized1.jpg' )
    ->resize(360,220)
    ->save( $path_to_images.'/01-resized2.jpg' );

// ...

// chaining another methods after save() method for animated gif files 
// is available only with forked version of GifCreator
GluImage::get( $path_to_images.'/01.gif' )
    ->resize(540,360)
    ->save( $path_to_images.'/01-resized.gif' )
    ->crop(360,220)
    ->save( $path_to_images.'/01-resized-and-cropped.gif' );

License

GluImage is licensed under the MIT License.

Copyright 2014 Lukasz Gaszyna