1. Go to this page and download the library: Download tzsk/collage library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tzsk / collage example snippets
$images = [
// List of images
'images/some-image.jpg',
];
$images = [
// 1. File Contents
file_get_contents('some/image/path/or/url'),
// 2. Direct URLs
'https://some/image/url',
// 3. Absolute & Relative Path
'/some/image/somewhere/on/disk',
// 4. Intervention\Image\Image Object
ImageManagerStatic::make('...'),
// It's Intervention\Image\ImageManagerStatic
// 5. Or if you are Using Laravel
Image::make('...'),
// It's Intervention\Image\Facades\Image
];
use Tzsk\Collage\MakeCollage;
$collage = new MakeCollage($driver); // Default: 'gd'
$image = $collage->make(400, 400)->from($images); // Default Alignment: vertical
// Change Alignment:
$image = $collage->make(400, 400)->from($images, function($alignment) {
$alignment->vertical(); // Default, no need to have the Closure at all.
// OR...
$alignment->horizontal();
});
$image = $collage->make(400, 400)->from($images); // Default Alignment: twoTopOneBottom
// Change Alignment:
$image = $collage->make(400, 400)->from($images, function($alignment) {
$alignment->twoTopOneBottom(); // Default, no need to have the Closure at all.
// OR...
$alignment->oneTopTwoBottom();
// OR...
$alignment->oneLeftTwoRight();
// OR...
$alignment->twoLeftOneRight();
// OR...
$alignment->vertical();
// OR...
$alignment->horizontal();
});
$image = $collage->make(400, 400)->from($images); // Default Alignment: grid
// Change Alignment:
$image = $collage->make(400, 400)->from($images, function($alignment) {
$alignment->grid(); // Default, no need to have the Closure at all.
// OR...
$alignment->vertical();
// OR...
$alignment->horizontal();
});
use Tzsk\Collage\Facade\Collage;
$image = Collage::make(400, 400)->from($images);
$image = Collage::make(400, 400)->from($images); // Default Alignment: vertical
// Change Alignment:
$image = Collage::make(400, 400)->from($images, function($alignment) {
$alignment->vertical(); // Default, no need to have the Closure at all.
// OR...
$alignment->horizontal();
});
$image = Collage::make(400, 400)->from($images); // Default Alignment: twoTopOneBottom
// Change Alignment:
$image = Collage::make(400, 400)->from($images, function($alignment) {
$alignment->twoTopOneBottom(); // Default, no need to have the Closure at all.
// OR...
$alignment->oneTopTwoBottom();
// OR...
$alignment->oneLeftTwoRight();
// OR...
$alignment->twoLeftOneRight();
// OR...
$alignment->vertical();
// OR...
$alignment->horizontal();
});
$image = Collage::make(400, 400)->from($images); // Default Alignment: grid
// Change Alignment:
$image = Collage::make(400, 400)->from($images, function($alignment) {
$alignment->grid(); // Default, no need to have the Closure at all.
// OR...
$alignment->vertical();
// OR...
$alignment->horizontal();
});
use Tzsk\Collage\Contracts\CollageGenerator;
class FiveImage extends CollageGenerator
{
/**
* @param Closure $closure
* @return \Intervention\Image\Image
*/
public function create($closure = null)
{
// Your code to generate the Intervention\Image\Image object
}
}
$image = $collage->with([5 => Your\Class\Namespace\FiveImage::class]);
// Here the key is the number of file your generator accepts.
// After this you can continue chaining methods like ->padding()->from() as usual.
$image = $collage->with([4 => Your\Class\Namespace\MyFourImage::class]);
// It will replace the existing Generator with your own.
// After this you can continue chaining methods like ->padding()->from() as usual.
$image = Collage::with([5 => Your\Class\Namespace\FiveImage::class]);
// Here the key is the number of file your generator accepts.
// After this you can continue chaining methods like ->padding()->from() as usual.
$image = Collage::with([4 => Your\Class\Namespace\MyFourImage::class]);
// It will replace the existing Generator with your own.
// After this you can continue chaining methods like ->padding()->from() as usual.
'generators' => [
// It will replace the current FourImage generator.
4 => Your\Class\Namespace\MyFourImage::class,
// It will add a new generator.
5 => Your\Class\Namespace\FiveImage::class,
]
bash
php artisan collage:publish
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.