Skip to content

Easy to use image manipulation tool based on PHP-GD

License

Notifications You must be signed in to change notification settings

delfimov/GDImage

Repository files navigation

Latest Stable Version Build Status StyleCI SensioLabsInsight License

GDImage

Easy to use image manipulation tool based on PHP-GD extension.

Key features

  • Easy to use.
  • JPEG, PNG, GIF, WEBP support.
  • Method chaining.
  • JPEG autorotation (ext-exif required) based on EXIF header
  • Easy to resize, crop, rotate, add text, flip, merge, set opactity

Requirements

How to install

composer require delfimov/gdimage

or add this line to your composer.json file:

"delfimov/gdimage": "~1.0"

Alternatively, copy the contents of the gdimage folder into one of your project's directories and require 'src/GDImage.php';.

A Simple Example

// initialize GDImage
$image = new GDImage('path/to/image.jpg');
 
// set fill color for empty image areas
$image->setFillColor([255, 0, 0]);

// Resize image. By default images are resized proportional and are not cropped,  
// with empty areas filled with color specified in setFillColor() method
$image->resize(1280, 720);

/* Add text to image 
The first parameter is text to add, 
the second parameter is optional, by default equals to: 
[
    'size' => 20,
    'angle' => 0,
    'x' => 0,
    'y' => 0,
    'color' => [0, 0, 0],
    'font' => '/../fonts/Roboto-Medium.ttf'
] 
*/
$image->addText(
    'Sample text to add',
    [
        'font' => __DIR__ . '/../fonts/Roboto-Medium.ttf',
        'size' => 18,
        'x' => 150,
        'y' => 100,
        'color' => [255, 0, 0]
    ]
);

// Save image
$image->save('path/to/newimage.jpg');

TODO

  • Examples
  • Readme
  • More unit tests
  • Animated gifs support