Download the PHP package arjanwestdorp/imaginary-client without Composer
On this page you can find all versions of the php package arjanwestdorp/imaginary-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download arjanwestdorp/imaginary-client
More information about arjanwestdorp/imaginary-client
Files in arjanwestdorp/imaginary-client
Package imaginary-client
Short Description A client for the imaginary image service
License MIT
Informations about the package imaginary-client
Imaginary client
Client for the imaginary image service. Imaginary is a service build to resize images on the fly. Unfortunately that service is not open sourced yet.
Installation
The recommended way to install the client is through composer:
composer require arjanwestdorp/imaginary-client
Usage
$client = new Client([
'client' => 'CLIENT',
'url' => 'https://imaginaryurl.com',
]);
$client->fetch('http://www.test.com/test.jpg')->url();
// https://imaginaryurl.com/CLIENT/image/fetch/http://www.test.com/test.jpg
$client->fetch('http://www.test.com/test.jpg')
->width(100)
->height(100)
->url();
// https://imaginaryurl.com/CLIENT/image/fetch/w_100,h_100/http://www.test.com/test.jpg
Predefined definitions
You can add predefined sets of manipulations. The idea is that you can reuse the same manipulation multiple times in your whole application by defining it only once.
$client->define('landscape', function($imaginary){
$imaginary->width(400)
->height(300)
->fit();
});
$client->fetch('http://www.test.com/test.jpg')
->landscape()
->url();
// https://imaginaryurl.com/CLIENT/image/fetch/w_400,h_300,c_fit/http://www.test.com/test.jpg
Options
width($width)
Manipulate the width of the image in pixels.
height($height)
Manipulate the height of the image in pixels.
fit($gravity = null)
Fit the resizing in the given dimensions (width, height). By setting the gravity you can mark the position which the cutout will be taken from. By default it will cutout from the center. Options are:
- top-left
- top
- top-right
- left
- right
- center (default)
- bottom-left
- bottom
- bottom-right
circle($radius = 'max')
Make a circle image. Setting no radius, it will use the size of the image and make it a circle. By setting a radius the image will be resized to match that radius. If the image is bigger then the radius it will automatically use the fit('center')
manipulation before making a circle.
The circle manipulation will be called after the resizing manipulations like width and height, so you can resize the image to your needs before applying the circle.
Security
If you discover any security issues, please email [email protected] instead of creating an issue.
Credits
- Arjan Westdorp
- Trait Development
- All Contributors
License
The MIT License (MIT). Please see License File for more information.