/imanee

php image manipulation library for fun projects

Primary LanguagePHPMIT LicenseMIT

Build Status Documentation Status Coverage Status License Join the chat at https://gitter.im/imanee/imanee

Imanee is a simple Image Manipulation library for PHP. It provides an easy flow and convenient methods for creating thumbnails, watermarks, text writing, animated gifs and more.

Check our live demos for usage examples. Check our documentation for detailed instructions.

Requirements

Imanee requires PHP >= 5.4 , and one of the following image extensions for PHP: Imagick or GD. It's recommended to use Imagick as it has more features, including animated gifs support (not available with GD).

Installation

First make sure you have either Imagick or GD installed and enabled on your PHP server. Imanee will try to use GD if Imagick is not found in the system.

You can add Imanee to your project easily through composer:

$ composer require imanee/imanee

Getting Started

Some simple examples to get you started:

###Thumbnail output

header("Content-type: image/jpg");

$imanee = new Imanee('path/to/my/image.jpg');
echo $imanee->thumbnail(200, 200)->output();

###Writing centralized text on top of an image

header("Content-type: image/jpg");

$imanee = new Imanee('path/to/my/image.jpg');
echo $imanee->placeText('imanee test', 40, Imanee::IM_POS_MID_CENTER)
            ->output();

###Image composition

header("Content-type: image/jpg");

$imanee = new Imanee('path/to/my/image.jpg');

/** places 4 different png images on the 4 corners of the original image */

echo $imanee->placeImage('img1.png', Imanee::IM_POS_TOP_LEFT)
    ->placeImage('img2.png', Imanee::IM_POS_TOP_RIGHT)
    ->placeImage('img3.png', Imanee::IM_POS_BOTTOM_LEFT)
    ->placeImage('img4.png', Imanee::IM_POS_BOTTOM_RIGHT)
    ->output()
;

###Animated Gifs from an array of images

$frames[] = 'img01.png';
$frames[] = 'img02.png';
$frames[] = 'img03.png';
$frames[] = 'img04.png';

header("Content-type: image/gif");

echo Imanee::arrayAnimate($frames, 30);

###Animated Gifs from files in a directory

header("Content-type: image/gif");

echo Imanee::globAnimate('resources/*.jpg');

###Forcing GD usage

header("Content-type: image/jpg");

$imanee = new Imanee('path/to/my/image.jpg', new GDResource());
echo $imanee->thumbnail(200, 200)->output();

For more (and complete) examples please have a look at the demos repository: https://github.com/imanee/demos