thapp / image
Image processor
Installs: 572
Dependents: 2
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/thapp/image
Requires
- php: >=5.4.0
Requires (Dev)
- league/phpunit-coverage-listener: dev-master
- phpunit/phpunit: ~4.6@dev
This package is not auto-updated.
Last update: 2025-11-08 21:54:59 UTC
README
This module was created for the usage in Thapp\JitImage, but can be used as a standalone library for manipulating images. It's highly inspired by the Imagine library, but resolves a views flaws, but also way more limited.
Installation
Require thapp/image in your project directory
$ composer require thapp/image
or add this to your composer.json
{
"require": {
"thapp/image": "dev-master"
}
}
Usage
Quick Example
<?php use Thapp\Image\Geometry\Size; use Thapp\Image\Driver\Imagick\Source; $source = new Source; $image = $source->load('image.jpg'); $image->edit()->crop(new Size(100, 100)); $image->save('newimage.jpg');
Loading sources
The Source object is able to create Image instances from either filepaths,
filehandles, or binary strings:
<?php use Thapp\Image\Driver\Imagick\Source; $source = new Source; $image = $source->load('image.jpg'); // or read the file from a file handle: $handle = fopen('image.jpg', 'r+'); $image = $source->read($handle); // or read the file from a binary string: $content = file_get_contents('image.jpg'); $image = $source->create($content);
The Source class takes an instance of
Thapp\Image\Info\MetaDataReaderInterface as its first argument. The $reader
is used to read meta information about the image. This is useful e.g. if you
want to autorotate the image based on its orientation.
By default, a new instance of Thapp\Image\Info\ImageReader is created for
you. ImageReader is capable of reading basic image information derived from
the php getimagesize() function.
You may use the Thapp\Image\Info\ImageReader class instead, which provides
a wider range of information (e.g. needed for GD and Gmagick drivers to
determine the correct image orientation).
<?php use Thapp\Image\Info\ExifReader; use Thapp\Image\Driver\Imagick\Source; $source = new Source(new ExifReader); // ... $image = $source->load('image.jpg');