clippings / fluid-gallery
Arrange Images with percentages
Installs: 94 625
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 28
Forks: 0
Open Issues: 0
Requires
- php: >=7.1.0
Requires (Dev)
- phpunit/phpunit: ^7.5.20
README
Arrange Images with percentages
Installation
Install via composer
composer require clippings/fluid-gallery
Usage
Conseptually, you pile images (or videos) into a ItemGroup and then line by line extract using custom sizing logic.
$gallery = new ItemGroup([ new Item(100, 200, 'http://example.com/1.jpg'), new Item(200, 100, 'http://example.com/2.jpg'), new Item(100, 100, 'http://example.com/3.jpg'), new Item(300, 200, ['url' => 'http://example.com/video.mov', 'type' => 'video']), ]); $gallery->setMargin(15); // extract some of the images into another group $group = $gallery->extract(function ($group) { // The returned items are removed from the parent gallery return $group // get only images with text urls ->filter(function (Item $item) { return is_string($item->getContent()); }) // set the hight of all the images to 50, preserving the aspect ratios ->setHeight(50) // Get a slice of the images, arranged horizontally, no wider than 200 pixels ->horizontalSlice(200) // Scale horizontally arranged images to exactly 200, keeping aspect ratios ->scaleToWidth(200); }); foreach ($group as $item) { echo $item->getContent(); } // Get the remaining items echo $gallery[0]->getContent()['url'];
License
Copyright (c) 2015, Clippings Ltd. Developed by Ivan Kerin
Under BSD-3-Clause license, read LICENSE file.